gpt4 book ai didi

c - 使用 C 的基本文件输入

转载 作者:太空宇宙 更新时间:2023-11-04 03:59:27 25 4
gpt4 key购买 nike

所以我正在努力学习如何执行文件 I/O,但是我使用的这本书在教授如何从文件接收输入方面很糟糕。下面是他们如何从文件接收输入的示例,但它不起作用。我已经逐字复制了它,它应该循环遍历一个名称列表,直到它到达文件的末尾(或者他们在书中说),但它没有。事实上,如果我将 while 循环留在那里,它不会打印任何内容。

#include <stdio.h>
#include <conio.h>
#define MAX 250
int main()
{

char name[MAX];
FILE*pRead;

pRead=fopen("test.txt", "r");
if (pRead==NULL)
{
printf("file cannot be opened");
}else


printf("contents of test.txt");
while(fgets(name,sizeof(name),pRead)!=NULL){
{
printf("%s\n",name);
fscanf(pRead, "%s", name);
}


getch();
}

即使在网上,我看到的每个初学者教程都会对此有所不同,但我似乎无法让它发挥作用。

最佳答案

我认为您的数组太小,因此当您读取 fscanf 时会覆盖内存,从而导致奇怪的行为

如果您只想读取文件 - 假设现在输入文件中每行一个名称后跟换行符 - 只需使用 fgets() 读取文件即可。

#define MAXLINE 256

char name[MAXLINE];

while (fgets(name,sizeof(name),pRead)!=NULL)
{
// do whatever
}

关于c - 使用 C 的基本文件输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13432532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com