我的目标是提取由 =
分隔的值和键。我最初的想法是使用类似 %s=%s
的东西,但不幸的是它不起作用。
所以我有一个文件:
A=1
B=2
所以我打开文件:
char *key;
char *value;
FILE* file = fopen("./file", "r");
do {
fscanf(file, "%[^'=']=%[^'\n']\n", key, value);
printf("key:%s value:%s\n", key, value);
} while(!feof(file));
但是键和值都会返回:
key:1 value:1
key:2 value:2
知道为什么我的表达不匹配吗?
最佳答案
key
和 value
变量必须被分配,例如
char key[100];
char value[1000];
然后使用它们。
关于c - 在 fscanf 中匹配两个以 = 作为分隔符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26401108/