[英]C - Reading from a file
我有一个包含以下内容的文本文件:
ANT. Small insect, sometimes has wings on its back. BEAR. Large beast.
我有交流程序:
int main(void)
{
FILE *fp;
int c;
fp = fopen("myfile.txt","r");
if(fp == NULL)
{
perror("Error in opening file");
return(-1);
} do {
c = fgetc(fp);
if(feof(fp))
break ;
if (c != '\n')
printf("%c", c);
}while(1);
fclose(fp);
}
但是它只打印:
BEAR. Large beast.
我希望它打印:
ANT. Small insect, sometimes has wings on its back. BEAR. Large beast.
在 DOS/Windows 机器上创建的文本文件与在 Unix/Linux 上创建的文件具有不同的行尾。 DOS 使用回车和换行(“\\r\\n”)作为行尾,而 Unix 只使用换行(“\\n”)。 在 Windows 机器和 Unix 机器之间传输文件时需要小心,以确保行尾正确翻译。
/*Everything looks find in your code. in my machine it is working fine . I have only added a if condition to print the contents same as the file thats it .. */
#include<stdio.h>
int main(void)
{
FILE *fp;
int c;
fp = fopen("rabi.txt","r");
if(fp == NULL)
{
perror("Error in opening file");
return(-1);
} do {
c = fgetc(fp);
if(feof(fp))
break ;
printf("%c", c);
printf ("\n");
}while(1);
printf ("\n");
fclose(fp);
}
o/p-->
rabi@rabi-VirtualBox:~/rabi/c$ gcc 11.c
rabi@rabi-VirtualBox:~/rabi/c$ ./a.out
ANT. Small insect,
sometimes has wings on its back.
BEAR. Large beast.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.