c码农进
有个char是读文件读回来的,比如说是a\nb,print这个char就是a\nb我想变成
a
b
这样,怎么弄? 你读的是\\n 没,读回来的就是a\nb那样,直接输出也是a\nb,没有给我把\n转成换行符 那就是\\n啊 哥哥 你要做的就是替换而已 不行啊,说详细点好了
我用fgets读一个文件,文件就只有一行a\nb,然后把这一行存到一个char里面,然后printf那个char就会出现a\nb,改成a\\nb就是a\\nb,总之转意符完全无效了,我期望的是出现
a
b
怎么弄? 什么意思,直接打开文件里看见的就是a\nb ?
Neutrino 发表于 2013-12-19 16:33 static/image/common/back.gif
什么意思,直接打开文件里看见的就是a\nb ?
对,但我想输出时变成
a
b a\nb 是3个字符 ascii码的情况下占3个字节
你读的是4个字符a \ n b
这么说能理解吧
有些io系统会自动把字符\n转成回车
但c的不会 rolin 发表于 2013-12-19 16:42 static/image/common/back.gif
a\nb 是3个字符 ascii码的情况下占3个字节
你读的是4个字符a \ n b
这么说能理解吧
那么要怎么弄才能把那个该死的换行符弄出来?直接赋值打印出来倒是可以... MakubeX 发表于 2013-12-19 16:35 static/image/common/back.gif
对,但我想输出时变成
a
b
那你自己判断替换啊。
你在文件里看到什么那就是什么,还指望fgets一边读一边帮你替换? Neutrino 发表于 2013-12-19 16:47 static/image/common/back.gif
那你自己判断替换啊。
你在文件里看到什么那就是什么,还指望fgets一边读一边帮你替换?
没有一个函数可以直接把字符串里的转意符全部处理掉么? {:5_148:} MakubeX 发表于 2013-12-19 16:50 static/image/common/back.gif
没有一个函数可以直接把字符串里的转意符全部处理掉么?
你从文件里读过来的不是转义字符,就是实际字符,这个上面已经说清楚了。
你是想把文件里的\n 这个字符串,全部替换成 换行符。
C库没字符串替换函数,字符串查找函数是:size_t strcspn(const char *s1, const char *s2)
Neutrino 发表于 2013-12-19 17:01 static/image/common/back.gif
你从文件里读过来的不是转义字符,就是实际字符,这个上面已经说清楚了。
你是想把文件里的\n 这个字符串 ...
真你妈麻烦...我还是回去玩python算了 MakubeX 发表于 2013-12-19 17:05 static/image/common/back.gif
真你妈麻烦...我还是回去玩python算了
学c就是要享受重复造轮子的快感
想想用了几年之后一堆自主产权的libs多有成就感 Neutrino 发表于 2013-12-19 17:01 static/image/common/back.gif
你从文件里读过来的不是转义字符,就是实际字符,这个上面已经说清楚了。
你是想把文件里的\n 这个字符串 ...
找出来然后换成什么?已经是\n怎么换成换行符? rolin高呼熊大威武,立刻股票大赚得到3 水晶. [:123]
伪熊密你暴露了 我不是大米 发表于 2013-12-19 17:47 static/image/common/back.gif
rolin高呼熊大威武,立刻股票大赚得到3 水晶.
地主明鉴 真心熊密无疑 MakubeX 发表于 2013-12-19 17:42 static/image/common/back.gif
找出来然后换成什么?已经是\n怎么换成换行符?
。。。 我以为你都明白了 你看到的\n是两个字符 他不是回车 你要把这两个字符换成一个回车 或者windows上\直接 换成\r也行
小写了一段 没有测试 codepad 上没法读外部文件
#include <stdio.h>
int main(int argc, char *argv)
{
char str1, str2;
FILE *fp = fopen(filename, "r");
fgets(str1, 50, fp);
int i = 0, j=0;
while(str1 != '\0')
{
if (str1 != '\\' && str1 != 'n')
str2 = str1;
else
str2 = '\n', i++;
i++;
}
str2 = '\0';
printf(str2);
return 0;
}
换成'\r' 看着觉得马龙好屌啊
一股仰慕的感觉
看着觉得马龙好屌啊
一股仰慕的感觉 rolin高呼熊大威武,立刻股票大赚得到3 水晶. rolin 发表于 2013-12-19 18:46 static/image/common/back.gif
。。。 我以为你都明白了 你看到的\n是两个字符 他不是回车 你要把这两个字符换成一个回车 或者windo ...
测了下还真有点小问题...不过这下完全懂了,剩下的我自己弄,谢啦 rolin 发表于 2013-12-19 18:46 static/image/common/back.gif
。。。 我以为你都明白了 你看到的\n是两个字符 他不是回车 你要把这两个字符换成一个回车 或者windo ...
main 函数都写错了.... 楼主的需求就是将文本文件里面的\n这两个字符变成程序里面\n 这一个换行符。。 看着觉得马龙好屌啊
一股仰慕的感觉 看着觉得马龙好屌啊
一股仰慕的感觉
页:
[1]