我有一个文本文件,格式如下:
Thing 1: 0 0 128
Other thing: 255 64 255
Something else: 32 32 8
我打算最终向这个文件添加更多内容,但格式将保持不变。我想要做的是将冒号之前的所有内容读取到字符串中,将冒号之后的所有内容作为整数读取。我试过了:
fscanf((file = fopen("colors.txt", "r")) == NULL){
return -1;
}
fscanf("%s: %d %d %d", colorStr, &r, &g, &b);
while(!feof(file)){
printf("%s: %d %d %d", colorStr, r, g, b);
fscanf(file, "%s: %d %d %d", colorStr, &r, &g, &b);
}
fclose(file);
但是,我得到以下输出:
Thing 1:: 0 0 0
0: 0 0 0
0: 0 0 0
128: 0 0 0
诸若此类。理想情况下,输出应如下所示:
Thing 1: 0 0 128
Other thing: 255 64 255
Something else: 32 32 8
我该如何解决这个问题呢?前面已经在程序中设置了colorStr
、r
、g
和b
变量。
转载请注明出处:http://www.bizarre-animals.com/article/20230401/1899387.html