0

我正在使用代码块并且碰壁了,我想从 .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.");
}

我想我可以遵循类似的方式,但以某种方式将不同的数字分配给不同的常数。关于如何解决这个问题的任何想法?

4

2 回答 2

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) {
于 2013-01-09T18:17:59.277 回答
0

使用 wxWidgets 框架,我通常使用wxTextInputStream来执行这些任务。按照链接查看示例。

如果wxWidgets不是你的东西,它可能会给你一些想法。

于 2013-01-09T18:05:02.500 回答