我试图从文本文件行逐行读取行并将其存储在数组中。 txt文件中有一些问题会被询问给玩家!逐行读取并存储在结构数组中
下面是一些问题!
1: När kom potatisen till Europa?;A:1300-talet; B:1500-talet; C:900-talet;D:1700-talet\n
rätt svar : B
2: I vilken enhet mats elektrisk spänning ?;A:Ampere;B:Volt;C:Joule;D:Watt\n
Rätt svar: A
3: Från vilket land har vi fått lego?;A:Tyskland;B:Australien;C:Japan;D:Danmark\n
rätt svar : D
它在瑞典!
我已经做了一个功能,分裂线,无论它发现分号!像这样:
void readline_andsplit()
{
char str[500];
char *ptr;// token
FILE * fp = fopen("gameee.txt","r");
while(fgets(str, 500, fp)){ // read 500 characters
// print what we read for fun
ptr = strtok(str, ";"); // split our findings around the " "
while(ptr != NULL) // while there's more to the string
{
printf("%s\n", ptr); // print what we got
ptr = strtok(NULL, ";"); // and keep splitting
}
}
fclose(fp);
}
而这里的主要代码:
int main() {
int i = 0;
int numProgs = 0;
char* nrofqeustions[50];
char line[80];
int j = 0;
char correctanswer;
FILE *file;
file = fopen("gameee.txt", "r");
while(fgets(line, sizeof line, file)!=NULL) {
nrofqeustions[i] = calloc(strlen(line)+1, 1); //add each filename into array of nrofqeustions
strcpy(nrofqeustions[i], line);
i++; //count number of nrofqeustions in file
}
//check to be sure going into array correctly
//for (j=0 ; j<numProgs+1; j++) {
//printf("\n%s", nrofqeustions[j]);
//}
printf("%s\n",nrofqeustions[0]);
fclose(file);
return 0;
}
我希望它产生以下的输出:当用户选择它移动到下一个问题
1: När kom potatisen till Europa?
A:1300-talet
B:1500-talet
C:900-talet
D:1700-talet
!这是一个测验 我有点新的语言!
这里是我的结构:
struct quiz{
char question[x];
char alt [4];
char correctanswer[1];
};
我不能看到你从哪里调用函数'main()' – Haris
我试过了,但是当我调用它时,它立即打印出所有的问题!我忘了提及即将使用结构是我的所有问题以及答案将被存储! –
ook,所以你想让它打印这个问题,请求用户回答,然后继续下一个问题?这个结构在哪里你想存储你的问题和答案 – Haris