繁体   English   中英

用C读写Txt文件

[英]Read - Write Txt File in C

我正在尝试阅读-写一个txt文件,该文件在不同的行中包含多个信息。 它的形式为:

Number-LicencePlate NumberOfSeats

Name  number  phonenumber

Name  number  phonenumber

Name  number  phonenumber

要读取第一行,使用fscanf很容易,但是如何使用fscanf读取其余的行以获得3个不同的变量(名称,编号,电话)?

以相同的形式写入此文件会在稍后阶段进行,但将尝试进行处理。

FILE *bus;
bus = fopen ("bus.txt","r");
if (bus == NULL)
{
    printf("Error Opening File, check if file bus.txt is present");
    exit(1);
}
fscanf(bus,"%s %d",platenr, &numberofseats); 
printf("Bus Licence plate Nr is: %s and number of seats is: %d", platenr, numberofseats);

您应该使用循环来实现所需的功能,因为代码除了第一行"FILE *bus;"以外没有读取任何内容"FILE *bus;" 是指向文本文件第一行的指针。

为了阅读所有内容,您可以通过检查文件结尾(EOF)使用简单的while循环。 我知道2种方法,它们在这里;

  while(!feof(bus)){
       fscanf(bus,"%s %d",platenr, &numberofseats);
       printf("Bus Licence plate Nr is: %s and number of seats is: %d", platenr, numberofseats);
    }

读取后,此代码块将打印每一行。 我们使用了“ feof(FILE * stream);”。 功能在此处了解更多信息 其他文章中还建议了其他方法如何阅读整个文本文件

但是我也将它放在这里。

  while(fscanf(bus,"%s %d",platenr, &numberofseats)!=EOF){
        printf("Bus Licence plate Nr is: %s and number of seats is: %d", platenr, numberofseats);
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM