C语言如何去掉字符串中换行符 15
当我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函数如果搜索的字符串是一个数组,那么它将返回一个数组。如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。
如果同时需要对某个数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余的元素将用空字符串进行替换。如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用
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);
}
#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);
printf("%s",a);
if(a[strlen(a)-1])=='\r') a[strlen(a)-1])=0;
printf( "%s", a );