免费注册 查看新帖 |

Chinaunix

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

这段代码报的什么错?我就是看不出来,帮帮忙~ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-19 14:06 |只看该作者 |倒序浏览
#include <iostream>
      2 #include <sys/types.h>
      3 #include <sys/stat.h>
      4 #include <fcntl.h>
      5 #include <unistd.h>
      6 using namespace std;
      7
      8         int main(){
      9                 int fd = open( "some.txt",O_WRONLY|O_CREAT,0700 );
     10                 if( fd<0 ){
     11                         cout << "open error " << endl;
     12                         return ;
     13                 }
     14                 char buf[100];
     15                 do{
     16                         cin.ignore( 255,'\n' );
     17                         memset( buf,0,100 );
     18                         cin.getline( buf,100 );
     19                         int size = write( fd, buf, 99 );
     20                         if( size<0 || buf=="exit" )
     21                                 break;
     22                 }while( 1 );
     23                 close( fd );
     24
     25
     26
     27
     28                 return 0;
     29         }
     报错如下:
                                                                                                                                                   
     write_example.cc: In function `int main()':
     write_example.cc:12: return-statement with no value, in function declared with
     a non-void return type

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2006-08-19 14:07 |只看该作者
if( fd<0 ){
     11                         cout << "open error " << endl;
     12                         return ;
     13                 }

你的函数返回什么类型?
你又返回什么?

论坛徽章:
0
3 [报告]
发表于 2006-08-19 14:32 |只看该作者
谢谢,我改了,但是保存到另外一个文件去了,所以编译老不对~~~~惭愧!!
再问一下,我想当键盘输入 "exit" 的时候while循环停止( if( size<0||buf=="exit" ) ),但是实现不了,请问要做哪些修改?

[ 本帖最后由 twomoretry 于 2006-8-19 14:44 编辑 ]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2006-08-19 14:43 |只看该作者
原帖由 twomoretry 于 2006-8-19 14:32 发表
谢谢,我改了,但是保存到另外一个文件去了,所以编译老不对~~~~惭愧!!

我晕。

论坛徽章:
0
5 [报告]
发表于 2006-08-19 15:10 |只看该作者
buf=="exit"

不能这样直接比较。如果buf是string还行。

应该strcmp。

论坛徽章:
0
6 [报告]
发表于 2006-08-19 16:57 |只看该作者
原帖由 assiss 于 2006-8-19 15:10 发表
buf=="exit"

不能这样直接比较。如果buf是string还行。

应该strcmp。

收到,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP