C语言怎么在字符串中删掉最后一个字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言怎么在字符串中删掉最后一个字符相关的知识,希望对你有一定的参考价值。

如上,我用C语言从txt里读取一行字符串,怎么实现删掉这一行字符串的最后一个字符,然后写入txt中,求删掉字符的语句和解释,求大神

char s[100]=0;
fgets(s,sizeof(s),fp);//从fp指向的文件中提出最多100个字符的一行字符。
s[strlen(s)-1]=\'\\0\';//让最后一个字符的ASCII码为0,即结束标志。
fputs(s,fw);//将s写入fw指向的文件中。

参考技术A #include <string.h> // 包含函数strlen()
。。。。。。。。。。。。
int len = strlen(str); // 获取str的字符串长度
str(len - 1) = '\0'; // 用'\0'覆盖最后一个有效字符
。。。。。。。。。。。。。
参考技术B 回答

字符串:string s = "1,2,3,4,5,"目标:删除最后一个 "," 方法一:s = s.Remove(s.LastIndexOf(","), 1); ; //移除掉最后一个"," 方法二:用的最多的是Substring,这个也是我一直用的s = s.Substring(0,s.Length - 1) 方法三:用TrimEnd,这个东西传递的是一个字符数组 s=s.TrimEnd(\',\')//如果要删除"5,",则需要这么写char[] MyChar = \'5\',\',\';s = s.TrimEnd(MyChar); 方法四:用Removestring a = "123";a = a.Remove(a.Length - 1,1); //移除掉","

参考技术C 只要先找到字符串的串尾,再把串尾标记前移一位就行了。
char *p,s[100]="1234567890";
for(p=s;*p;p++);
*(--p)='\0';
printf("%s\n",s);
参考技术D char line[100]=0;
fgets(line,sizeof(line),fp);
line[strlen(line)-1]='\0';
fputs(line,fw);

简单就是这样 详细的自己写

要是还是不会

找我要完整代码

c语言中怎样截取一个字符串的最后一个字符?

解决代码为:

#include "stdio.h"

#include "string.h"

main()

char* p ="abcdefg";

int len = strlen(p);

char* t = &p[len-1];

printf("%c\\n",*t);

基本特性

C++语言代码

1、高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。 [10] 

2、结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 [10] 

4、代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件操作的场合,优于其它高级语言。 [10] 

5、使用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。

特有特点

    C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。

    C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。

    不同的变量类型可以用结构体(struct)组合在一起。

    只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。

    部份的变量类型可以转换,例如整型和字符型变量。

    通过指针(pointer),C语言可以容易的对存储器进行低级控制。

    预编译处理(preprocessor)让C语言的编译更具有弹性。

参考技术A //关键使用strlen函数先求出字符串的长度,再减一
#include <stdio.h>
#include <string.h>
void main()

char *str="abcdefg";//可以输入的,用scanf函数
int l;
l=strlen(str);
printf("%c",str[l-1]);//这个str[l-1]元素,就是该字符串最后那个

以上是关于C语言怎么在字符串中删掉最后一个字符的主要内容,如果未能解决你的问题,请参考以下文章

C语言如何删除文本的最后一个字符

c++中怎么删掉字符串中的字符

C语言怎么去掉字符串最后一个字符?

C语言删除字符串中指定字符

c语言如果用字符串类型输出字符数组,字符数组最后一个是0,那么为啥会出现乱码

c语言如何删除输出的最后的一个字符?