一个没有初始化过的字符数组默认值是多少,该怎么处理
一个没有初始化过的字符数组默认值是多少
TCHAR syspath[100];
memset(syspath,0,100);
GetSystemDirectory(syspath,100);
cout < <syspath;
请问memset这句有必要吗,我主要是担心由于syspath没有被填满,cout时找不到字符数组中为0的结束位。
但事实上有没有这句cout都能正常显示,且每次结果有一样,没有因结束位不明确而产生不同。
字符数组如不初始化,里面默认存的是什么,如何能标识字符串结束??
cout < <int(syspath[x]); 输出的都是-52, -52什么意思
------解决方案--------------------
不然全是“烫”,当然也可以[0] = '\0 ';
------解决方案--------------------
GetSystemDirectory最后会加0的,不过好的做法,还是自己也初始化一次,安全
TCHAR syspath[100];
memset(syspath,0,100);
GetSystemDirectory(syspath,100);
cout < <syspath;
请问memset这句有必要吗,我主要是担心由于syspath没有被填满,cout时找不到字符数组中为0的结束位。
但事实上有没有这句cout都能正常显示,且每次结果有一样,没有因结束位不明确而产生不同。
字符数组如不初始化,里面默认存的是什么,如何能标识字符串结束??
cout < <int(syspath[x]); 输出的都是-52, -52什么意思
------解决方案--------------------
不然全是“烫”,当然也可以[0] = '\0 ';
------解决方案--------------------
GetSystemDirectory最后会加0的,不过好的做法,还是自己也初始化一次,安全