免费注册 查看新帖 |

Chinaunix

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

[函数] 求助!编程时OPEN函数的问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-05-09 13:03 |只看该作者 |倒序浏览
我在OPEN函数中直接使用文件名的串可以创建文件.
例: OPEN("FILENAME",O_CREAT,0700);
而我用READ函数接收输入的字符串到一个字符串数组,创建文件由该字符串数组指定的文件名.
例: READ(0,FILENAME,SIZEOF(FILENAME));
     OPEN(FILENAME,O_CREAT,0700);
运行时系统出现MEMORY FAULT - CORE DUMPED 的出错信息.为什么会这样呢?

论坛徽章:
0
2 [报告]
发表于 2004-05-09 13:08 |只看该作者

求助!编程时OPEN函数的问题!

原帖由 "luoweiqiao" 发表:
我在OPEN函数中直接使用文件名的串可以创建文件.
例: OPEN("FILENAME",O_CREAT,0700);
而我用READ函数接收输入的字符串到一个字符串数组,创建文件由该字符串数组指定的文件名.
例: READ(0,FILENAME,SIZEOF(FILENA..........

贴出你的代码.
memset ( filename, 0, sizeof(filename) );
read ( 0, filename, sizeof(filename)-1 );
去学习下,如何进行安全的编程.

论坛徽章:
0
3 [报告]
发表于 2004-05-09 15:39 |只看该作者

求助!编程时OPEN函数的问题!

在READ 函数开始时我调用了BZERO函数.
但是运行的问题还是这样.

论坛徽章:
0
4 [报告]
发表于 2004-05-09 16:30 |只看该作者

求助!编程时OPEN函数的问题!

代码:
int fd;
char filename[80];
bzero(filename,sizeof(filename));
write(1,"filename:",9);
read(0,buf,sizeof(buf));
if(open(filename,O_CREAT,0700)<0(
{
printf("file cannot creat\n";
exit(1);
}
printf("file is creat\n";
exit(0);
}

论坛徽章:
0
5 [报告]
发表于 2004-05-09 16:34 |只看该作者

求助!编程时OPEN函数的问题!

read函数应该是Open后的句柄。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2004-05-09 17:42 |只看该作者

求助!编程时OPEN函数的问题!

read 完了是不是有必要把回车符去掉?

论坛徽章:
0
7 [报告]
发表于 2004-05-09 22:28 |只看该作者

求助!编程时OPEN函数的问题!

没错啊!我是接受键盘输入。
我测试了一下,把读得的字符串的实际长度+1赋予0还是没用。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2004-05-09 22:34 |只看该作者

求助!编程时OPEN函数的问题!

原帖由 "luoweiqiao" 发表:
没错啊!我是接受键盘输入。
我测试了一下,把读得的字符串的实际长度+1赋予0还是没用。


你检查一下'\n'字符在哪个位置?
应该在哪里赋值为0。

论坛徽章:
0
9 [报告]
发表于 2004-05-09 22:41 |只看该作者

求助!编程时OPEN函数的问题!

要加的话应该是加到字符串实际长度加+1的位置吧!
'\n',占用数组空间吗?

论坛徽章:
0
10 [报告]
发表于 2004-05-09 23:12 |只看该作者

求助!编程时OPEN函数的问题!

原帖由 "luoweiqiao" 发表:
ero(filename,sizeof(filename));
write(1,"filename:",9);
read(0,buf,sizeof(buf));
if(open(filename,O_CREAT,0700)<0(
{
printf("file cannot creat\n";
exit(1);
}
printf("file is creat\n";
e..........


文件名读到 buf里了,却用 filename 去打开.....
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP