我正在使用代码块并且遇到了障碍,我希望从.txt文件中获取两个数字并使用它们分配给不同的常量。
在输入.txt文件中说有10,20我想让a = 10和b = 20,然后继续使用这些数字进行进一步的计算。
在过去,我使用'strtok'从文件中分割出一个字符串,其中(“,:”)是定界字符串。
FILE *fp; char s[1000];
fp=fopen("chris.txt","r"); // opens the file
if (!fp) return 1;
while (fgets(s,1000,fp)!=NULL); //makes the stuff inside the file defined as string s
char*pch;printf("Splitting string \"%s\" into tokens:\n",s);
pch = strtok (s,",");
while (pch !=NULL)
{
printf ("%s\n",pch);
pch= strtok(NULL," ,0.");
}
我在想我可以遵循类似的方式,但不知何故将不同的数字分配给不同的常量。有关如何解决这个问题的想法吗?
答案 0 :(得分:1)
int a, b;
if (sscanf(s, "%d,%d", &a, &b) != 2) {
// Error, the format was not "<int>,<int>"
}
您甚至可以使用scanf
直接从文件中读取
if (fscanf(fp, "%d,%d", &a, &b) != 2) {
答案 1 :(得分:0)
使用wxWidgets框架我通常使用wxTextInputStream来执行这些任务。点击链接查看示例。
如果wxWidgets不是你的话,它可能会给你一些想法。