strcpy-C语言,这个错误是什么意思呀?

问题描述

C语言,这个错误是什么意思呀?

#include
#include
struct data
{
char s[30];
int n;
float x;
};
struct data example()//定义结构体类型函数
{
struct data emp;
strcpy_s(emp.sAn example!"");
emp.n = 68;
emp.x = 213.52;
printf(""%s%d%fn"" emp.s emp.n emp.x);
printf(""Function to run after:n"");
return(emp);
}
void main()
{
struct data redata;
printf(""nOperation function:n"");
redata = example();
printf(""%s%d%fn"" redata.s redata.n redata.x);
}

解决方案

http://blog.csdn.net/johnny710vip/article/details/6681160

解决方案二:
你参数不对,还要给一个长度的参数,这样才能防止越界拷贝。

解决方案三:
strcpy_s多一个参数,第二个参数是字符串长度。

解决方案四:
strcpy 和strcpy_s 参数列表不一样strcpy_s还多一个字符串长度

解决方案五:
strcpy 和strcpy_s 参数列表不一样吧

解决方案六:
struct data example()
函数中结构体的作用域只在函数体中生效,应该用指针接收返回值,函数中应该分配堆空间

时间: 2024-09-12 13:54:58

strcpy-C语言,这个错误是什么意思呀?的相关文章

Go语言中错误处理实例分析_Golang

本文实例讲述了Go语言中错误处理的方法.分享给大家供大家参考.具体分析如下: 错误是可以用字符串描述自己的任何东西. 主要思路是由预定义的内建接口类型 error,和其返回返回字符串窜的方法 Error 构成. type error interface { Error() string } 当用 fmt 包的多种不同的打印函数输出一个 error 时,会自动的调用该方法. 复制代码 代码如下: package main import (     "fmt"     "time

gcc-在GCC上的C语言编程错误问题

问题描述 在GCC上的C语言编程错误问题 #include #include #include struct LinkList { int data; struct LinkList next; }; struct LinkList Reverse ( LinkList *list ) *出错** { LNode *tmp = NULL; LNode *p = NULL; if (list == NULL) { return NULL; } tmp = list->next; while (tm

c语言-关于UBUNTU下C语言 段错误 转存储的问题

问题描述 关于UBUNTU下C语言 段错误 转存储的问题 在Linux下雪C语言编程时, 1.捕捉文件操作错误并打印错误信息:strerror(errno) 2.用域名取得ip地址是打印IP是调用:inet_ntoa()时 总是出现段错误 ,该如何解决! 解决方案 确认你定义了两个类似的结构体实例: struct sockaddr_in client socklen_t length; length=sizeof(client); 然后在accept()函数里面这样传递参数(注意传递地址) ac

c语言-C语言段错误 非常急 大神们 求助

问题描述 C语言段错误 非常急 大神们 求助 我再写一个c的字典项目 dict.txt文件里有 20多万行单词 运行有段错误 把dict里的 单词减少到1万 就可以了 这是为什么 我用的链表 大神们帮我解决啊 解决方案 编写程序,重要的是做好错误处理,判断出错时是哪句出错了. 1.程序动态申请的内存比较大,应该检查一下是否申请失败,就是malloc之后,判断q是否为NULL 2.数据量这么大,也许有的数据格式不对,应该对fgets是否失败也做个检查. if(ferror(fp)) { print

c语言-帮忙看下C语言打印错误

问题描述 帮忙看下C语言打印错误 #include int main(void) { int n,i,j,t; scanf("%d",&n); for(i=1;i<=4;i++){ for (j=1;j<=n-i;j++) printf(" "); for(t=1;t<=2i-1;t++) printf("*"); printf("n");} for(i=3;i>=1;i--){ for (j=

C语言常见错误集合

C语言的最大特点是:功能强.使用方便灵活.C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下"灵活的余地",但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,本人通过对C的学习,积累了一些C编程时常犯的错误,写给各位学员以供参考. 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序

我对Go语言的错误处理有哪些不满,以及我是如何处理的

写 Go 的人往往对它的错误处理模式有一定的看法.按不同的语言经验,人们可能有不同的习惯处理方法.这就是为什么我决定要写这篇文章,尽管有点固执己见,但我认为听取我的经验是有用的.我想要讲的主要问题是,很难去强制执行良好的错误处理实践,错误经常没有堆栈追踪,并且错误处理本身太冗长.不过,我已经看到了一些潜在的解决方案,或许能帮助解决一些问题. 与其他语言的快速比较 在 Go 中,所有的错误都是值.因为这点,相当多的函数最后会返回一个 error, 看起来像这样: func (s *SomeStru

r语言-(错误在哪里)R语言如何从文件中读取数据

问题描述 (错误在哪里)R语言如何从文件中读取数据 file.choose() [1] "C:UsersHPDesktop新建文件夹data.txt" data1<-read.table("data.txt",header=T) 错误于make.names(col.names, unique = TRUE) : ''多字节字符串有错 data1<-read.table("data.txt",header=T,quote = FALSE

基于C语言中段错误的问题详解_C 语言

当我在linux下写c语言的时候经常会遇到段错误.所以就来细究一下. 段错误或段违规(segmentation violation)查看Expert C Programming(Peter Van Der Linden) Pg.156解释到段错误是由于内存管理单元(MMU)的异常所致,而该异常则通常是由于解除引用一个未初始化或非法的指针引起. 就是指针正在引用一个并不位于你的地址空间中的地址.书中的例子 复制代码 代码如下: int *p = 0;  *p = 17;  这里显然 地址0 并不是

语言-没有错误,没有警告,输入数值后,结果不对,求解 帮帮忙,

问题描述 没有错误,没有警告,输入数值后,结果不对,求解 帮帮忙, /*用递归法将一个整数n转换为相应的字符串,例如,输入483,输出的是字符串"483",n的位数不确定,可以是任意的正 整数.(说明详见实验指导书P264第(2)题)请在下面空白处,填写相应的程序段,并将程序保存于文件ex5_2.c中.*/ #include #include char c[1000]; void int_to_string(int n,int w) {int i=2,j=w-1,m=10; c[w+1