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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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函数如果搜索的字符串是一个数组,那么它将返回一个数组。如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。

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

参考技术A

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);

参考技术B 下面程序过滤掉所有回车符号 "\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);
参考技术C a[strlen(a)-1]=0;
printf("%s",a);
参考技术D 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 );

在sql server 中,如何去掉字符串的头尾回车换行,中间的回车换行不去掉?

1、在sql server 中,如何把回车换行符换成空格?
2、然后,再把空格换成回车换行符?

把回车换行符换成空格 REPLACE(@c,char(13),' ')
把空格换成回车换行符 REPLACE(@c,' ',char(13))
参考技术A 先将换行符替换空格,然后用trim去掉首尾空格。。。

以上是关于C语言如何去掉字符串中换行符的主要内容,如果未能解决你的问题,请参考以下文章

如何去掉文本中的回车换行符或任意字符

在sql server 中,如何去掉字符串的头尾回车换行,中间的回车换行不去掉?

如何将字符串以换行符为界写入列表

在程序中如何去掉字符串中的空字符

odoo的string如何换行

去除字符串头尾空格的方法