ここではCの真新しい。このプログラムは、前後に「#」で区切られた 1 行のフラグメントのファイルを読み込むことになっています。例 #fragment1##fragment2##fragment3#
チェックしたい 2 つのエラーは、フラグメントが 1000 文字を超えていないことと、ファイルがフラグメントの両側で正しい形式の「#」に従っていることです。fscanf 構文がどのように機能するかはよくわかりませんが、次のようにしてエラーをチェックすると思います。
char buffer[MAX_FRAG_LEN+1];
if (fscanf(fp, "#%1000[^#]#", buffer) == 1) {
return strdup(buffer);
} else {
fprintf(stderr, "Error! Incorrect format.\n");
}
ただし、2 つのエラーのどちらであったかを具体的に伝えることができるように、エラーを分離したいと考えています。個別にチェックするにはどうすればよいですか?とても有難い!