Jon*_*Mee 2 c++ buffer c-strings stringstream null-terminated
sgetn取一个char*for它的第一个参数并将字符写入其中.它不是写一个尾随'\0'到char*.
这种行为似乎与我可以找到char*写入的所有其他时间不一致.但是,它在Clang,gcc和Visual Studio中是一致的,所以我无法相信它是所有编译器都有的错误.
是否有一个原因,该标准不要求尾部'\0'的char*?
[ 实例 ]
因为它可以用来读取任意数据,而不仅仅是文本.
以例如std::istream::read函数为例,它也需要char*参数,但可以用于读取任意数据,包括二进制数据.从二进制文件读取时,您不希望它添加字符串终止符吗?
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |