我有一个文本文件,类似于以下内容:
Name1: ID1
Name2: ID2
Name3: ID3
我正在尝试解析它以获得
Name1
Name2
Name3
存储在变量中。
我写了以下函数:
/*
* filename Name of file to read
* result The result will be stored here
*/
void readlist(char* filename, char* result) {
FILE *fp;
char buffer[2048];
memset((void *)result, '\0', BUFFER_SIZE);
fp = fopen(filename, "r");
while (fgets(buffer, sizeof(buffer), fp)) {
char *token = NULL;
token = strtok( buffer, ":" );
strcat(result, token);
}
fclose(fp);
}
但是,当我调用它时:
char result[2048];
readlist("test.txt", result);
printf("%s", result);
我得到一个空输出。似乎 strtok() 弄乱了数据,但我可能错了。
我在这里做错了什么?
先感谢您!