我必须检查,我将在此代码中输入(ctrl + D)
char octets_array[octets_number][128];
for(line_counter =0; line_counter < octets_number; line_counter++)
{
printf("Please enter octet: ");
scanf("%s",octets_array[line_counter]);
}
答案 0 :(得分:0)
如scanf
manual page所述,请检查EOF
返回代码:
{
printf("Please enter octet: ");
ret_code = scanf("%s",octets_array[line_counter]);
if (ret_code == EOF)
puts("Ctrl+D or other end of file");
else
puts("Thank you for the input");
}
如果重定向标准输入以从文件中读取,则scanf
在尝试从文件中读取另一个单词失败后将返回EOF
。
如果未重定向标准输入,当用户按下 Ctrl + D (或 Ctrl)时,scanf
将返回EOF
+ Z 和在Windows上输入。
注意:当它返回EOF
时,输出变量octets_array
中没有数据。它包含垃圾或以前的值;无论如何,不应该使用那里的数据。