我想\n
在一個字符串替換newline
,我無法做到這一點我沒有得到期望的O/P此
#include<stdio.h>
#define MAX 1000
void escape(char x[],char y[]);
main()
{
int c=0,i;
char s[MAX],t[MAX];
for(i=0; (c=getchar())!=EOF && i<MAX;i++)
s[i]=c;
s[i]='\0';
for(int k=0;k<i;k++)
printf("%c",s[k]);
escape(s,t);
}
void escape(char x[],char y[])
{
int j=0,m=0;
while(x[j]!='\0')
{
if (x[j]=='\n')
{
y[m++] = '\\';
y[m] = 'n';
}
y[m]=x[j];
j++;
m++;
}
y[m]='\0';
for(int k=0;y[k]!='\0';k++)
printf("%c",y[k]);
}
的O/PI得到的是:
我名字是AMOL
^Z
我的名字是AMOL
我的名字是AMOL \
你正在寫「\ n」,但隨後立即重寫以換行符n個。你需要跳過'y [m] = x [j];'在替換的情況下。 – VoidStar 2015-03-25 10:24:01