免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2642 | 回复: 10
打印 上一主题 下一主题

急: 读ASCII码文件strcpy & strncat 不能用! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-20 17:17 |只看该作者 |倒序浏览
这是我写的一段代码,读ASCII码文件中的一行,并把指定位置和长度的ASCII码串读出来,但程序现在提示“段错误”,急啊!

...
char buf[128], tmp[128];

fget(&buf[0],100,inputfile);
strcpy(tmp,"";
strncat(tmp,&buf[10],20);

fget(&buf[0],100,inputfile);
strcpy(tmp,"";
strncat(tmp,&buf[30],6);
...

我发现是运行到strcpy(tmp,"";就出错了,不知道怎么改????

论坛徽章:
0
2 [报告]
发表于 2005-08-20 17:27 |只看该作者

急: 读ASCII码文件strcpy & strncat 不能用!

lz能不能告诉我你的意图是什么?
你想要处理的数据有什么特征?
你执行strcpy(tmp,""是想要干什么?

论坛徽章:
0
3 [报告]
发表于 2005-08-20 17:31 |只看该作者

急: 读ASCII码文件strcpy & strncat 不能用!

因为C语言不自动负初值,另外我每读一行数据的长度也不一样(但都小于100),就要把tmp变为""

举个例子:
char tmp[128]; //tmp可能为“asdfojasdflkjasdf....."
我用strcpy将tmp变成空字符串,
再用strncat将要写的东东写到tmp里

论坛徽章:
0
4 [报告]
发表于 2005-08-20 17:32 |只看该作者

急: 读ASCII码文件strcpy & strncat 不能用!

那使用tmp[0] = '\0';不行吗?!

论坛徽章:
0
5 [报告]
发表于 2005-08-20 17:36 |只看该作者

急: 读ASCII码文件strcpy & strncat 不能用!

试试
memset(tmp, 0, 12;

论坛徽章:
0
6 [报告]
发表于 2005-08-20 17:43 |只看该作者

急: 读ASCII码文件strcpy & strncat 不能用!

能告诉我代码错在哪吗?

论坛徽章:
0
7 [报告]
发表于 2005-08-20 17:58 |只看该作者

急: 读ASCII码文件strcpy & strncat 不能用!

fget(&buf[0],100,inputfile);
fget是什么,应该是fgets吧

论坛徽章:
0
8 [报告]
发表于 2005-08-20 19:36 |只看该作者

急: 读ASCII码文件strcpy & strncat 不能用!

楼主写到:

我发现是运行到strcpy(tmp,"";就出错了,不知道怎么改????

是不是因为 无法识别数组的长度 ,用strncpy或memcpy 试一试
!!!

论坛徽章:
0
9 [报告]
发表于 2005-08-21 01:49 |只看该作者

急: 读ASCII码文件strcpy & strncat 不能用!

  1. char buf[128], tmp[128];
  2. strcpy(tmp,"");
复制代码

代码真是这样写的?  你确定strcpy是调用的标准c库的?  
是否是你自己写的一个同名函数?
否则不可能段错误的!

论坛徽章:
0
10 [报告]
发表于 2005-08-22 11:06 |只看该作者

急: 读ASCII码文件strcpy & strncat 不能用!

原帖由 "seeLnd" 发表:
代码真是这样写的?  你确定strcpy是调用的标准c库的?  
是否是你自己写的一个同名函数?
否则不可能段错误的!


我是这样写的,用的也是标准库啊! 编译用Gcc,我后来把

strcmp(tmp,"";

改成了strcmp(&tmp[0],"";

就编译通过了!
不知道为什么!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP