-2

我必须在文件上写一个字符串,地址如下:“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]);

}
4

1 回答 1

0

空格既不是字母也不是数字,因此isalnum(phonebook[i].addr[j])将返回0并且 tle 循环结束。

尝试使用phonebook[i].addr[j]!=0作为条件。

于 2015-12-06T12:51:50.503 回答