Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C-从文件中读取_C_File_Fgetc - Fatal编程技术网

C-从文件中读取

C-从文件中读取,c,file,fgetc,C,File,Fgetc,我有一个包含以下内容的文本文件: ANT. Small insect, sometimes has wings on its back. BEAR. Large beast. 但是,它只打印: BEAR. Large beast. 熊大野兽。 我想把它打印出来: ANT. Small insect, sometimes has wings on its back. BEAR. Large beast. 蚂蚁。小昆虫,有时背部有翅膀。 熊大野兽。 /*所有内容都可以在您的代码中找到。我的

我有一个包含以下内容的文本文件:

ANT. Small insect, sometimes has wings on its back. BEAR. Large beast. 但是,它只打印:

BEAR. Large beast. 熊大野兽。 我想把它打印出来:

ANT. Small insect, sometimes has wings on its back. BEAR. Large beast. 蚂蚁。小昆虫,有时背部有翅膀。 熊大野兽。
/*所有内容都可以在您的代码中找到。我的机器运转良好。我只添加了一个if条件,以打印与文件相同的内容*/
#包括
内部主(空)
{
文件*fp;
INTC;
fp=fopen(“rabi.txt”,“r”);
如果(fp==NULL)
{
perror(“打开文件时出错”);
返回(-1);
}做{
c=fgetc(fp);
if(feof(fp))
打破
printf(“%c”,c);
printf(“\n”);
}而(1),;
printf(“\n”);
fclose(fp);
}
o/p-->
rabi@rabi-虚拟箱:~/rabi/c$gcc 11.c
rabi@rabi-虚拟箱:~/rabi/c$/a.out
蚂蚁。小昆虫,
有时背上有翅膀。
熊大野兽。

在DOS/Windows计算机上创建的文本文件与在Unix/Linux上创建的文件具有不同的行尾。DOS使用回车符和换行符(“\r\n”)作为行尾,Unix只使用换行符(“\n”)。在Windows机器和Unix机器之间传输文件时需要小心,以确保正确翻译行尾


使用
fscanf()
使其变得简单,或者
fgets()
如果文件内容如您所说,我怀疑这是您得到的唯一输出。循环应该打印文件中除换行符以外的所有字符,因此所有内容都应该在一行上。此外,像您这样的循环的标准方法更像
while((c=fgetc(fp))!=EOF){printf(“%c”,c);}
输出应该是正确的……您应该再次检查您的输出,或者输入文件在我的编译器上工作正常,除非没有换行符,但其他一切都如预期的那样。可以省略前面的if语句,而不是编写另一个if语句 ANT. Small insect, sometimes has wings on its back. BEAR. Large beast.
/*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.