gpt4 book ai didi

c - 如何从文本文件中读取数据

转载 作者:太空宇宙 更新时间:2023-11-03 23:54:40 26 4
gpt4 key购买 nike

如何从我的文本文件中读取输入?输入文件有几行长,每行的格式为 city city distance 其中有两个城市及其之间的距离。

我已经尝试了几种方法来读取输入,但遗憾的是这些都不起作用。我需要解析每行上的各个值。 (每行包含 2 个城市名称和它们之间的距离。)任何帮助将不胜感激。

data = fopen(argv[1],"r");
while(!EOF){

while(1){
c=fgetc(data);
inname=(char**)malloc(sizeof(char*));
if(c==' ')
mode++;
else if(c=='\n'){mode=0;
break;}
else {
switch(mode%3){
case 0;
for(i=0;fgetc(data)!=' ';i++){
if(inname[count]!=NULL) {count++;inname=(char**)malloc(sizeof(char*));}
inname[count][i]=fgetc(data);}
break;
case 1;
if(inname[count]!=NULL){ count++;inname=(char**)malloc(sizeof(char*));}
for(i=0;fgetc(data)!=' ';i++){
inname[count][i]=fgetc(data);}
break;
/*case 2;for(i=0;fgetc(data)!='\n';i++){
dist[say]=atoi(str);}}}*/
}}}count++;}
`

最佳答案

我认为你应该调查一下fscanf用于读取这样的格式化输入。

要读取包含两个字符串和一个 int 的行,您会得到如下内容:

fscanf(data, "%s %s %d", &city1, &city2, &distance);

要读取多行直到 EOF,您的代码应采用以下形式:

while(fscanf(data, "%s %s %d", &city1, &city2, &distance)!=EOF) {
/* rest of your logic here */
}

关于c - 如何从文本文件中读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10919409/

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