【发布时间】:2015-12-06 12:40:16
【问题描述】:
我必须在文件上写一个字符串,一个地址,例如:“Via Leopardi 38”。 我认为循环和逐字符打印是最好的系统,因为它没有与非空终止字符串相关的问题。 问题是当循环到达空字符(“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]);
}
【问题讨论】:
-
你真的在“Via”和“Leopardi”之间使用空字符吗?不是普通的空格(ASCII 0x20)吗?
-
对不起,我犯了一个愚蠢的错误,我说的是当你按下键盘上的空格键时的空格。
标签: c string file loops ansi-c