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

这2段很短的代码问题在哪里,请大侠来阿,急

    来源: 互联网  发布时间:2016-04-13

    本文导语:    1 #include   2 #include   3 #include   4 #include   5 #include   6 #define BUF_SIZE 1024   7 #define MYKEY 24   8 int main(void)   9 {  10   int shmid;  11   char *shmptr;  12   if((shmid=shmget(MYKEY,BUF_SIZE,IPC_CREAT))==-1)  13 {  14    pri...

  1 #include
  2 #include
  3 #include
  4 #include
  5 #include
  6 #define BUF_SIZE 1024
  7 #define MYKEY 24
  8 int main(void)
  9 {
 10   int shmid;
 11   char *shmptr;
 12   if((shmid=shmget(MYKEY,BUF_SIZE,IPC_CREAT))==-1)
 13 {
 14    printf("shmget error!n");
 15   exit(1);
 16 }
 17   if(shmptr=shmat(shmid,0,0)==(void*)-1)
 18 {
 19   fprintf(stderr,"shmat error !n");
 20   exit(1);
 21 }
 22   while(1)
 23 {
 24   scanf("input string:%sn",shmptr);
 25 }
 26   exit(0);
 27 }









  1 #include
  2 #include
  3 #include
  4 #include
  5 #include
  6 #include
  7 #define BUF_SIZE 1024
  8 #define MYKEY 24
  9 int main(void)
 10 {
 11   int shmid;
 12   char *shmptr;
 13   if((shmid=shmget(MYKEY,BUF_SIZE,IPC_CREAT))==-1)
 14 {
 15    printf("shmget error!n");
 16    exit(1);
 17 }
 18 if((shmptr=shmat(shmid,0,0))==(void*)-1)
 19 {
 20   fprintf(stderr,"shmat error!n");
 21   exit(1);
 22 }
 23 while(1)
 24 {
 25   printf("string:%sn",shmptr);
 26   sleep(3000);
 27 }
 28 exit(0);
 29 }



这2段代码每次在附加共享内存的时候就出问题了
为什么?
我需要这2段程序完整的运行,我实在不知道问题在哪里。
情大侠帮忙下。


还有就是我用的是fedora 9 GCC4。3的编译器,不过以近加入老板本的库。


~         

|
因为你第一个程序的17   if(shmptr=shmat(shmid,0,0)==(void*)-1) 少了一对括号,导致shmptr其实是0
改成if((shmptr=shmat(shmid,0,0))==(void*)-1)就OK了

|
问题出在写共享内存的部分

1) == 的优先级高于 =, 楼上已经说过

2) scanf 的第1个参数是格式, "input string:"应该不是你的本意

    
 
 

您可能感兴趣的文章:

  • sh 里面ftp上传文件的代码。大侠帮忙看看下面的代码有什么问题
  • 哪位大侠能够推荐一下处理jpeg文件的程序,最好有源代码!!
  • 各位大侠,帮我看看为什么代码执行错误!!!
  • 各位大侠,一般我们做了一个application,加那些代码使这个application的窗口大小不能改变。(内空)给25分
  • 我想在unix写一个模仿informix或者windowns里那样的菜单,当然,是字符界面的哈,不知哪里有这方面的源代码,请大侠给予指点。
  • 那位大侠帮忙看看下面这两句代码什么意思??
  • 请大侠看看这段代码有什么错误?
  • 如何取得随机的3位数,如能告诉我用什么方法(),或源代码,望各位大侠赐教。给40分(内空)
  • 用C编写一个多进程的程序,请各位大侠指点一下,不需要源代码,只想知道该怎样来设计程序的框架。在线等各位的帮助。谢谢。(急求)
  • 我下了个gtk-win32-devel-2.8.6-rc3.EXE,安装完后,打开,但找不到编程代码的窗口,初次用,不知道怎么用这个东东,大侠指点
  • linux下的一段小代码有点地方不懂,大侠来下谢谢阿,急
  • 怎样用文JDBC for sqlserver访问SQLSERVER 数据库请大侠给出一个完整的程序代码
  • 菜鸟刚学jsp,对于查看数据库的用法还有点不明白?!100分送给解决问题的大侠。最好能给代码!!
  • Flash与S3C44B0X连接时地址线为什么要偏移一位,对应的代码也不甚清楚,劳烦各位大侠给看看。小弟先在此谢过了。
  • 各位大侠这一段代码我有很多地方看不懂,请各为帮忙给我解释一下,谢谢了
  • 接收邮件时出错,以下是俺从论坛里面搜出来并且经过修改后的一段代码,请各位大侠指教,谢谢!!!
  • 各位大侠帮忙看看,我的代码错在哪里
  • 菜鸟刚学jsp,一段代码执行不了,请大侠指点!
  • 急需计数器的做法和代码,望大侠们给予指点!!!!!
  • 高分求教!!!正方形框点击变色的源代码。。。由于本人对java一窍不通,朋友又等着救命,大侠help!!
  • 用Jbuilder3 遇到问题不能运行把可疑代码注掉后可以运行但是重新使用可疑代码时又可以运行了多次重复都是如此
  • 关于软件或者程序的源代码问题??
  • firefox源代码问题
  • linux 源代码的学习问题
  • 关于源代码的问题
  • 菜鸟问题(源代码)
  • VIM的使用,代码缩进的问题
  • 编程语言 iis7站长之家
  • 求教:linux下代码编辑问题
  • fedora10 内核代码问题
  • X Window System 的源代码的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • javascript 添加到收藏夹和书签代码示例
  • 在JBuilder中,为什么编写的代码中,当代码出现关键字时,后面的部分代码就移位了,当在有关键字的那些代码行进行选择时,也会出现鼠标位
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 为什么两行代码间不加入其他代码就崩溃,而加入了日志代码后就不崩溃?
  • JSP中清空cookie代码参考
  • 在ubuntu8.10 新立得中安装anjuta,为什么没有代码提示功能,怎么做才有,还有自动代码补全和代码提示有什么区别,
  • Python获取网页编码的方法及示例代码
  • 到底怎么样的代码算是有效代码?请教了。。
  • HTML网页中的html body onload自动跳转方法介绍及自动跳转代码示例
  • 如果要研究源代码以提高自己,哪一个开放源代码的软件比较合适?
  • php通过socket_bind()设置IP地址代码示例
  • linux源代码的时间函数源代码
  • boost库lexical_cast不同用法代码参考
  • gdb的时候代码 next显示的代码乱了
  • 通过javascript库JQuery实现页面跳转功能代码
  • 源代码!源代码!
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • 哪位会使用代码保护工具WingGuard来保护java代码?
  • HTML网页的Meta Refresh自动跳转方法介绍及Meta Refresh自动跳转代码示例
  • 如何得到C语言代码对应的汇编代码?
  • Linux c++虚函数(virtual function)简单用法示例代码
  • RedHat Linux是开放源代码的吗?如何能看见它的源代码,如何进行修改?


  • 站内导航:


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

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

    浙ICP备11055608号-3