linux下'\n'如何就是不换行
linux下\n怎么就是不换行C/C++ code#includestdio.hint main(){int i FILE *fp fopen(tets.txt,w
linux下'\n'怎么就是不换行
C/C++ code#include<stdio.h>int main(){ int i; FILE *fp= fopen("tets.txt","wb");for( i=0;i<5;i++) fputc('a',fp); fputc('a',fp);fputc('\n',fp);for(i=0;i<5;i++)fputc('a',fp);fclose(fp);}
这么短的测试代码 查看tets.txt却不是两行 ,文件就是一行 ,我都觉得见鬼了
[解决办法]查看的方式不对?用cat看看试试
你多加几个\n试试
[解决办法]这个代码是可以的,你的查看方式有问题吧?
[解决办法]不要把
fopen("...","...");fscanf,fprintf,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待
和
fopen("...","...b");fread,fwrite,fclose //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待
弄混了
[解决办法]Linux上换行符是\n;
Windows上是\r\n
[解决办法]FILE *fp= fopen("tets.txt","w"); // 文本文件不要用 b二进制
文本读和二进制 读 区别很大的
[解决办法]mac gcc4.2下面表示没有任何问题;
代码中\n换成\r也没问题;
LZ看看自己的环境有没有相关配置,导致出错了