我想要做的是从文件中读取输入,该文件的格式为Data1;Data2;Data3;Data4;Data5
我想标记这个字符串,并将这些单独的信息中的每一个存储在一个结构中,例如;
struct example {
char data1[10];
char data2[10];
char data3[10];
char data4[10];
char data5[10];
};
到目前为止,这是我的输入功能:
void userInput() { // I will need to change return type
FILE *file;
char buffer[BUFFER_SIZE];
struct example data[5];
file = fopen(DATA, "r");
if(file == NULL) {
printf("Error opening data file.\n");
}
while(fgets(buffer, BUFFER_SIZE, file) != null) {
//tokenize strings, and add to struct here
}
}
我意识到在我的 while 函数中,我需要类似的东西:
....
char *token = NULL;
token = strtok(string, ";");
while(token != NULL) {
// add to struct here
token = strtok(NULL, ";");
}
有人可以解释我将如何循环通过我的结构来添加它吗?或者如果我什至以正确的方式解决这个问题?