我想如何使用cin.get()函数?
例如,我有256个字符的char数组。如果输入包含少于256个字符,那么包含的“空”数组元素是什么?是每个未使用的元素都是'\ 0'还是什么?
谢谢,贾尼斯
cin.get(array, size)
然后它将在数组中最多填充size - 1
个字符。其余的保留不变,因此您不知道它们的值。
取决于。全局和静态变量是默认初始化的。局部变量未初始化-除非您显式初始化它们。
char buf1[256]; // global variable, all zeroes int main() { char buf2[256]; // uninitialized memory }
从
buf1
读取具有明确定义的行为,但从buf2
进行读取则没有明确的行为,因此,如果std::cin.get(buf2, <some_size>);
并从\0
放入数组的std::cin.get()
之外的内存中读取,则程序将具有[ C0]。为了对此进行修改,您也可以默认初始化局部变量: