-2

「Via Leopardi 38」のようなアドレスの文字列をファイルに書き込む必要があります。null 以外で終了する文字列に関連する問題がないため、ループと char by char 印刷が最適なシステムだと思います。問題は、ループがヌル文字 (「Via」と「Leopardi」の間のスペース) に到達すると、ループが終了し、「Via」のみが書き込まれることです。使用できるループに別のテスト条件はありますか?

FILE *fo = open(filename,"w");

for (j=0;isalnum(phonebook[i].addr[j])!=0;j++) {


 fprintf(fo,"%c",phonebook[i].addr[j]);

}
4

1 に答える 1

0

空白はアルファベットでも数字でもないので、isalnum(phonebook[i].addr[j])戻り0、ループを終了します。

phonebook[i].addr[j]!=0条件として使ってみてください。

于 2015-12-06T12:51:50.503 に答える