0

コードブロックを使用していて、壁にぶつかりました。.txt ファイルから 2 つの数値を取得し、それらを異なる定数に割り当てたいと考えています。

入力 .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 に答える