#include<stdio.h>
#include <stdlib.h>
#define N 10
int main(int argc, char *argv[])
{
FILE *fp;
char str[N];
fp = fopen("in.txt", "r");
if (fp == NULL)
{
return 1;
}
while (!feof(fp))
{
fgets(str, N, fp);
printf("%s", str);
//puts(str);
}
fclose(fp);
return 0;
}
in.txt
车窗外恋人相拥 还在难舍难离 汽笛声突然响起 那姑娘满眼焦急 不觉中下起雨来 在黄昏的站台 她终于上了列车 却一直望向窗外 当列车徐徐开动掠过蓝色站牌 我看见她难过的脸 如此苍白 伴随雨点敲击车窗她的泪流下来 我赶紧转过头去让我视线离开 不知是甜蜜的伤感还是无奈 天色暗了下来 人们开始了等待 我想起多年以前 像今天的画面 以为告别还会再见 哪知道一去不还
输出:车窗外恋?
讼嘤?
puts换printf则正常输出。
初步怀疑与刷新缓冲区有关。
当然fgets 的buffer size设置足够大是可以解决问题的。
希望有人解答!