【发布时间】:2014-09-24 00:53:17
【问题描述】:
到目前为止,当我尝试使用我的输入加载一个无符号字符数组时,每个输入字符都被视为一个字符。如何让程序知道我正在输入无符号字符?
输入:86 75 178 98 75 15 78 88
unsigned char input[256];
fgets(input,sizeof(input),stdin);
for(int i=0; input[i] != '\n'; i++){
printf("%hhu ", (unsigned char) input[i]);
}
现在的输出是“8 6 7 5 1 7 8 9 8....”
我想用输入中提供的数字加载input 数组。
编辑:使用空格作为分隔符来显示第一个无符号字符的结尾会更容易吗?
【问题讨论】:
-
您可以使用
strtol()或sscanf()和朋友从字符串中解析多位数字。 -
您可以使用格式化输入函数,例如
scanf或sscanf,或者您可以编写一些代码来解析输入并执行字符串到整数的转换。
标签: c input unsigned-char