初学者帮助:在 C 语言中解析



我对这个解析概念相对较新。这里有一个简单的,但对我来说,这是令人费解的例子。

我有一个包含一系列数字和字母的文本文件。在文本的每一行中,有三个元素。一个字母,另一个字母和一个数字。将第一个视为源,第二个视为目标,将数字视为大小。读取它们并将它们放入结构数组中,并能够根据大小排列它们。"a, b, 1"为第一行。"Q, S, 5" 表示第 2 个,依此类推。最后,以排列的格式(根据尺寸)打印它们

介意给我一个线索或起点吗?更新:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main(){
FILE *fp;
fp= fopen("file.txt", "O");
int i;
struct arrangement{
       char source;
       char dest;
       int cost;
       };
struct arrangement rng[22];
for(i=0; i<22 ; i++){
         fscanf(fp, "%c, %c, %d", rng[i].source, rng[i].dest, rng[i].cost);
         printf("%c, %c, %d", rng[i].source, rng[i].dest, rng[i].cost);
}
getch();
return 0;

}

这是否能够"将所有元素存储在数组中?我仍然不知道我将如何根据大小/成本安排这些,而不会遗漏来源和目的地。

fscanf 需要指向变量的指针,而不是变量本身。您的代码可能会导致奇怪的结果,具体取决于编译器(gcc 可能会发出警告/错误)和平台。如果达到 EOF,您也应该打破循环。然后,我可以提供最后使用的条目(根据输入,该条目可能部分有效或无效)。

最新更新