fgets 可以将不可打印的字符读入给定的 char*(看来我不能)吗?如果不是,那么允许最大数量的输入字符从流到 char* 的替代方法是什么?
编辑(对于我的特殊情况)
我有一个将“Le\D7”打印到标准输出的编码器,该编码器通过管道传输到解码器,该解码器使用以下方法从其标准输入中获取该解码器:
if( fgets( inputChars, MAX_BYTES_IN, stdin ) == NULL )
{
fprintf( stderr, "Trouble getting input\n" );
return 0;
}
while( inputChars[crntChar] != '\0' && inputChars[crntChar] != '\n' )
{
printf( "Value %d: %d\n", crntChar, inputChars[crntChar]);
crntChar++;
}
这导致:
Value 0: 76
Value 1: 101
Value 2: -41
使用 fgetc 具有相同的结果