C语言程序中建好的文件中是有空格的,但是我再读取这个文件,并把它里的东西写入另一个文件时
空格自动消失了,所有内容挤在一起。然后我改为换行打印后,它又变为每遇到一个空格就就一行,而不是按原文件中那样的行来排布。...
空格自动消失了,所有内容挤在一起。然后我改为换行打印后,它又变为每遇到一个空格就就一行,而不是按原文件中那样的行来排布。
展开
1个回答
展开全部
1、如果你是按格式读取的话是忽略占位符的 如 空格 与 \t 如果按字符流就不会
2、如果按格式读取的话一般也按格式写入,每一个单元占一行 。
3、如果按字符流的话 \r\n 表示换行
2、如果按格式读取的话一般也按格式写入,每一个单元占一行 。
3、如果按字符流的话 \r\n 表示换行
追问
那怎么按字符流呢?
追答
FILE *fin;
char namein[]="my_file.txt"; // 文件名
char *one_line; // 读入的一行
int buff_size=120; //根据最长行字符定大小
if( ( fin = fopen(namein, "r") ) == NULL ) {
printf("can not open file %s\n",namein);
exit (-1);
};
one_line = (char *) malloc(buff_size * sizeof(char));
while ( fgets(one_line, buff_size,fin) !=NULL){
printf("I read: %s",one_line); // 读一行打一行
};
fclose(fin);
对每行进一步分析可以用
sscanf(one_line,"...",...);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询