a742794196 发表于 2016-07-20 17:00

不对。我说的不太对。应该是这样说。你定义的指针变量没有初始化给一个合理的可操作地址,因此程序会崩。回复 10# a742794196


   

cjfeii 发表于 2016-07-21 17:59

strcpy, sprintf ... 这些接口都是不安全的,编程中有可能出现bug,建议用strncpy, snprintf 等指定长度的接口,但是要注意结尾的时候需要确定是否需要加上'\0'。

a742794196 发表于 2016-08-17 09:29

char *hostname_ftp;
char *username_ftp;
char *password_ftp;
你这三人指针变量没有初始化,那他们的值就是随机的,你对一个随机的内存操作,程序会崩的。

yulihua49 发表于 2016-08-17 10:39

wind_133 发表于 2016-07-12 14:44 static/image/common/back.gif
目的是想新建一个函数,利用这个函数通过调用strcpy给三个变量赋值,编译出了几个warning但是不报错。编译好 ...
改成:
hostname_ftp=hostname;
username_ftp=username;
password_ftp=password;

破晓如风 发表于 2016-08-20 11:43

7楼正解啊      

defrag257 发表于 2016-08-28 14:22

char *c = "xxx";指向的是只读内存区,应该用char c[] = "xxx";

defrag257 发表于 2016-08-28 14:25

额,看错了,源指针只读没什么问题,目标指针是野指针,应该用char xxx_ftp;
页: 1 [2]
查看完整版本: 请教一个strcpy的问题,程序执行崩溃