C语言如何去掉字符串中换行符

我的字符串是char a[]="myfile.txt/r".
当我printf("%s",a)的时候,会发现,他会输出换行,我想把在字符串中去掉换行符,请问怎么写???

C语言可以使用Replace函数去掉字符串中换行符。即Replace(字符串,'\n','')。

Replace函数语法为Replace (Expression, Find, ReplaceWith [, Start] [, Count] [, Compare])。

Expression必需的。代表将要执行替换操作的字符串。

Find必需的。代表要搜索的字符串。

ReplaceWith必需的。代表用于替换的字符串。

Start可选的。代表决定从Expression开头向结尾数的第几位开始搜索,默认值为1。

Count可选的。代表限制进行替换的次数,默认值为-1,即进行所有的替换。

Compare可选的。代表决定判断子字符串的比较方式。

扩展资料:

Replace函数如果搜索的字符串是一个数组,那么它将返回一个数组。如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。

如果同时需要对某个数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余的元素将用空字符串进行替换。如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-09

C语言如何去掉字符串中换行符,

只需要循环遍历字符串中的换行符改成\0就行了

#include <stdio.h>
void main()
{
char a[]="myfile.txt/r".;
int i,j,L,n=0;
L = strlen(a);
for (i=0;i<=L-n;i++) 
  if(a[i] == '\r') 
  {
    a[i] = 0;
  }
printf("%s",a);
}

第2个回答  2011-04-05
下面程序过滤掉所有回车符号 "\r".
#include <stdio.h>
void main()
{
char a[]="myfile\r.txt\r";
int i,j,L,n=0;
L = strlen(a);
for (i=0;i<=L-n;i++) if (a[i] == '\r') {
for (j=i;j<=L-1-n;j++) a[j]=a[j+1];
n++;
}
printf("%s",a);
第3个回答  2011-04-05
a[strlen(a)-1]=0;
printf("%s",a);本回答被网友采纳
第4个回答  2011-04-05
if(a[strlen(a)-1])=='\n') a[strlen(a)-1])=0;
if(a[strlen(a)-1])=='\r') a[strlen(a)-1])=0;
printf( "%s", a );
相似回答