关于一个C++数组问题
比如声明了一个 char temp[100];
保存了“你好00谢谢帮助”ASCII值(中间00为分隔符) C4 E3 BA C3 00 D0 BB D0 BB B0 EF D6 FA
但是保存在数组后,返回到另外一个方法里面,只有 C4 E3 BA C3的值。后面的被忽略。
原因是数组碰到0之后把它当做结尾"/0" 了。不知道哪位大侠有好的解决方案
谨表谢意,90°鞠躬
[解决办法]
分隔符 能换成别的吗
[解决办法]
把数组长度也传过去
[解决办法]
数组不会被截断吧?你直接把数组首地址赋给string,是string遇到0截断。。
[解决办法]
memcpy
[解决办法]
char temp[100]
==>
wchar_t temp[100];
[解决办法]
对,数组不会截断的,你试下memcpy,挺好用!
[解决办法]
#include <iostream>#include <cstring>char* getStr(){ char* p = new char[100]; strcpy(p, "你好00谢谢帮助"); return p;}int main(){ char* p = getStr(); std::cout << p << std::endl; delete [] p; return 0;}
[解决办法]