一个strcpy的段错误

来源:互联网 发布:android软件开发工具包 编辑:程序博客网 时间:2024/06/14 22:07

错误:passing argument 1 of strcpy discards const qualifier from pointer target type [enabled by default]
         strcpy(alr->name, tem );

最终原因:alr->name定义成了const char

举例:

#include<string.h>

#include<stdio.h>
int main(void)
{
 char *s1="1234567";
 char *s2="22222";
 strcpy(s1,s2);   
 return 0;    

}

gcc报错,改成:

char s1[30]="1234567"; 
char s2[10]="22222"; 

或改成:

char s1[30]="1234567"; 
char *s2="22222"; 

OK。

原因:strcpy的dst不能指向常量(s1指向常量是不可更改的,若再为其赋值,则出错了)。





0 0
原创粉丝点击