0
2次元配列をコンマで区切った整数で埋めようとしています。 私はすでに3x3配列のためのスペースを割り当てています。今、入力テキストの各行をループして整数を取得し、配列に配置しようとしています。ここでC、文字列をトークン化して2D配列を塗りつぶし
は、私がこれまで持っているものです。
char currLine[257];
char *token;
for(int i = 0; i < size; i++){
fgets(currLine, 257, inputFile);
for(int j = 0; j < size; j++){
}
}
次のようにテキストをフォーマットする:
9,8,7
2,1,6
3,4,5
私が正常に各行をつかむことができますが、そこから私はトラブルに実行し続けます。私が各番号を取得した後、私はもちろんそれが配列の[i] [j]の場所に入ることを望みます。したがって、最初の行は[0]に対応し、最初の値は[0] [0]に対応します。
のですか? 'sscanf(currLine、%d、%d、%d、&matrix [i] [0]、&matrix [i] [1]、&matrix [i] [2]); '3'を返すことを確認してください。また、 'fgets()'が何かを読んだことなど、 'fgets()'の直後に 'if(!feof(inputFile))'を使用したり、 'fgets() 'はNULLを返しません。 –
これを試してみます。しかし、私はsscanfがどのようにフォーマットされているかに精通していません。 – dj1121
まあまあです[ドキュメントを読む](http://man7.org/linux/man-pages/man3/scanf.3.html) –