Redian新闻
>
我写了一个strcopy的函数,大家看看怎么不对呢?
avatar
我写了一个strcopy的函数,大家看看怎么不对呢?# Programming - 葵花宝典
b*n
1
#include
using namespace std;
void* strcopy(char* in_str){
char* out_str;
if(out_str=(char*)malloc(sizeof(in_str)+1)){
out_str=(char*)memcpy(out_str,in_str,sizeof(in_str)+1);
return out_str;
}else{
cout << "Insufficient Memory" << endl;
return NULL;
}
}
int main(int argc, char* argv[])
{
char* a="abcdefghijklmn";
cout << (char*)strcopy(a) << endl;
return 0;
}
avatar
X*r
2
不是sizeof,是strlen

【在 b*********n 的大作中提到】
: #include
: using namespace std;
: void* strcopy(char* in_str){
: char* out_str;
: if(out_str=(char*)malloc(sizeof(in_str)+1)){
: out_str=(char*)memcpy(out_str,in_str,sizeof(in_str)+1);
: return out_str;
: }else{
: cout << "Insufficient Memory" << endl;
: return NULL;

avatar
b*a
3
sizeof(in_str)是返回的指针的大小,不是字符串的长度.

【在 b*********n 的大作中提到】
: #include
: using namespace std;
: void* strcopy(char* in_str){
: char* out_str;
: if(out_str=(char*)malloc(sizeof(in_str)+1)){
: out_str=(char*)memcpy(out_str,in_str,sizeof(in_str)+1);
: return out_str;
: }else{
: cout << "Insufficient Memory" << endl;
: return NULL;

avatar
b*n
4


忘了
谢谢

【在 b******a 的大作中提到】
: sizeof(in_str)是返回的指针的大小,不是字符串的长度.
avatar
b*n
5
谢谢

【在 X****r 的大作中提到】
: 不是sizeof,是strlen
avatar
x*x
6
FYI: you can also just use "strdup".
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。