当前位置:  技术问答>linux和unix

收到“underscore in number”出错提示!?

    来源: 互联网  发布时间:2015-11-05

    本文导语:  程序段: int err(void) {   char*  logbuf;     int logfd;     logbuf=calloc(21,sizeof(char));     logbuf="the programe failed!"; logfd=open("log",O_RDWR|O_APPEND|0_CREAT,S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);//                      ...

程序段:
int
err(void)
{   char*  logbuf;
    int logfd;
    logbuf=calloc(21,sizeof(char));
    logbuf="the programe failed!";


logfd=open("log",O_RDWR|O_APPEND|0_CREAT,S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);//
                                                                  这句错!改为creat后好。

      write(logfd,logbuf,20);
     close(logfd);
     free(logbuf);
       exit(-1);
}
gcc编译时收到告警如下:
b.c: In function `err':
b.c:27: underscore in number
怎么会事呢??!

|
logbuf=calloc(21,sizeof(char));
这句话分配了一段内存空间,并且用logbuf指针指向这个空间,那么之后就可以用这个空间存放你想要放的一些东西;

但是如果要把一个字符串放进去的话,
 logbuf="the programe failed!";
这句话是达不到要求的,它的实际作用是改变了logbuf指针指向的地址,变为指向常量字符串="the programe failed!"的首地址,而这块地址空间并不在堆上,你接下来free它就会出错了。

字符串赋值应该用strcpy或strncpy来做。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ubuntu8.10 无线网卡能收到信号,但是连不上网,提示连接失败...
  • udp用select模型收到了不应该收到的东西
  • 【求助】linux/Unix下创建子进程,向父进程发送信号,子进程也能收到改信号,此时如何让子进程不收到信号
  • 谁有收到ORACLE 的免费LINUX光盘,知道怎么用吗?
  • 服务进程收到的第一个UDP包的远端地址不对?
  • outlook 2000 发送附件word文件,有些人收到可以打开,有些却不行后缀变为.dat
  • aix socket进程为何收到客户端的编码都是ISO-8859-1编码?
  • SCJP证书要多久才能收到!
  • 各位帮忙,我收到IBM的IBM webphere活动请柬,网址现在找不到了。
  • 在linux系统下无法收到mail问题请教
  • 求一小段代码: 编程使得本进程收到SIGIO信号(异步IO)
  • 请教ACE中ACE_Connector如何处理收到的数据?
  • 进程Afork进程B,进程Bfor进程C,如果进程C退出发出SIGCHLD,A进程是否可以收到
  • 用JavaMail收到的邮件,有什么方法能知道主题及内容的编码方式呢?
  • 在北京广播数据(Multicast)在广州能不能收到?
  • 呵呵,我也收到IBM的光盘了
  • 我用Javamail给对方发送邮件,如何判断对方是否已经收到邮件?
  • 今天收到IBM发放的web services/XML CD,高兴,散分
  • to bj100(火火火) :文章收到,进来领分!
  • worldheart,已收到资料
  • worldheart,资料已收到,再次感谢


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3