我有一个文本文件,类似于以下内容:
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() 弄乱了数据,但我可能错了。
我在这里做错了什么?
先感谢您!