c - 初学者帮助: Parsing in C

标签 c parsing

我对这个解析概念比较陌生。这是一个简单但对我来说却令人费解的例子。

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

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

#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,您还应该中断循环。然后我可以提供最后使用的条目(可能部分有效,也可能无效,具体取决于输入)。

关于c - 初学者帮助: Parsing in C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29710370/

相关文章:

c - 在C中使用rand()生成大量 double 时发生段错误

c - 复制结构中包含的字符串指针时出现问题

python - Maltparser 在 NLTK 中给出错误

c - 使用 pthreads 进行练习,但我的代码中出现了一些意外行为

c - DRMAA- 编译 c 文件时无法链接 drmaa 库

c - 使用带有 MPI 的 master-worker 时,哪个大小的 block 将产生最佳性能?

ios - Objective-C iOS 根据定义解析字符串

json - 如何从文本中提取需要的信息?

c# - C# 的简单正则表达式帮助

C 哈希表问题,一切都具有相同的值(value)