char* 类型函数返回值得获得,该怎么解决
char* 类型函数返回值得获得
我定义了一个函数,函数的返回值为char*型,现在我要得到这个函数的返回值,是用一个char 数组,还是用一个char*的变量在动态分配内存后存储。
例1
char* getchar()
{
return "xml ";
}
main()
{
char* getxml;
strcpy(getxml,getchar());
cout < <getxml < <endl;
return 0;
}
条件
1:getchar()返回的字符串长度不定
2:不能用char* getxml =getchar()这样是正确的,但我要用getxml作下一层的返回,所以不能在当前环境下定义!!
------解决方案--------------------
malloc没有学过?
getxml都没内存分配就strcpy,最基本级错误了。
------解决方案--------------------
知道C++为啥要提供string吗,就是为了让你处理这个“不优先知道长度”的字符串。
建议你找本好点的C++书,先学一学string,然后忘掉C时代的char *字符串。
我定义了一个函数,函数的返回值为char*型,现在我要得到这个函数的返回值,是用一个char 数组,还是用一个char*的变量在动态分配内存后存储。
例1
char* getchar()
{
return "xml ";
}
main()
{
char* getxml;
strcpy(getxml,getchar());
cout < <getxml < <endl;
return 0;
}
条件
1:getchar()返回的字符串长度不定
2:不能用char* getxml =getchar()这样是正确的,但我要用getxml作下一层的返回,所以不能在当前环境下定义!!
------解决方案--------------------
malloc没有学过?
getxml都没内存分配就strcpy,最基本级错误了。
------解决方案--------------------
知道C++为啥要提供string吗,就是为了让你处理这个“不优先知道长度”的字符串。
建议你找本好点的C++书,先学一学string,然后忘掉C时代的char *字符串。