我的文本文件:
(与此处粘贴的结构相同-> 2位数字,中间用空格隔开)
5 5
6 7
3 0
5 5
6 7
3 1
1 0
4 1
3 0
6 7
1 1
6 7
7 0
我有一个结构,必须使用该结构将值存储到数组中,然后从那里访问存储的值。
我正在使用的源代码是:
#include <stdio.h>
#include <stdlib.h>
#define MAXPROGRAMSIZE 100
#define MAXDATASIZE 10
typedef struct Instruction{
int opCode;
int Address;
} Instruction;
int main(int argc,char *argv[])
{
FILE *fp;
int i=0;
Instruction IM[MAXPROGRAMSIZE];
fp = fopen("cgs.txt", "r"); //read file *use arg[i]
if (fp == NULL)
printf("Cannot open file!");
else
{
printf("Assembling program...\n");
while(fscanf(fp, "%d, %d", &IM[i].opCode, &IM[i].Address) != EOF)
{
i++;
}
}
//this give me junk values
printf("\nm[i].opCode is %d\n", IM[1].Address);
return 0;
}
请给我建议一个解决方案,我从这里尝试了另一篇文章,从文本文件中读取空格分隔的数字并将值存储到数组。将不胜感激。谢谢
答案 0 :(得分:-1)
在fscanf中,逗号(,)不正确
while(fscanf(fp, "%d, %d", &IM[i].opCode, &IM[i].Address) != EOF)
文本文件没有它。