strcpy该怎么用
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
char *dst,*src;
src = "hello,strcpy ";
strcpy(dst,src);
//dst = src;
printf( "%s %s\n ",src,dst);
system( "PAUSE ");
return 0;
}
我不知道哪里错了,谁指点一下啊
[解决办法]
//你的dst没有分配内存
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
char dst[20], *src;
src = "hello,strcpy ";
strcpy(dst,src);
printf( "%s %s\n ",src,dst);
system( "PAUSE ");
return 0;
}
[解决办法]
//或者这样。
#include <cstdlib>
#include <iostream>
#include <string.h>
using namespace std;
int main(int argc, char *argv[])
{
char *dst,*src;
dst = new char(strlen(src)+1);
src = "hello,strcpy ";
strcpy(dst,src);
//dst = src;
printf( "%s %s\n ",src,dst);
system( "PAUSE ");
return EXIT_SUCCESS;
}
[解决办法]
strcpy(dst,src);
================
dst指针所指向的内存段需足够尺寸存放src字符串,需分配好内存,数组堆内存