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

求助,一个获取字符及输出问题

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

    本文导语:  代码如下,我想获取输入的字符并存入一个结构中,然后再将刚输入的字符显示出来,或循环通过指针 将结构中的字符串输出,不知道什么原因报Memory fault - core dumped 错误 谢谢 #include  #include  #include  #include  #...

代码如下,我想获取输入的字符并存入一个结构中,然后再将刚输入的字符显示出来,或循环通过指针
将结构中的字符串输出,不知道什么原因报Memory fault - core dumped 错误
谢谢

#include 
#include 
#include 
#include 
#include 
#include 


typedef struct data_struct{
  char *string;
  int i;
}data_t;

typedef struct list_struct{
  data_t item;
  struct list_struct *next;
}list_t;

int get_str(char *dstr);

main(int argc, char *argv[])
{
  data_t temp;
  list_t *newnode=NULL,*pnewnode;
  int i;
  char *str=NULL,*pstr=NULL;
  fprintf(stderr, "nStartn");
  pstr=str;  
  pnewnode = newnode; 
  newnode = (list_t*)malloc(sizeof(list_t));
  for(i=0; iitem.string);
    fprintf(stderr, "nOut put String %sn", newnode->item.string);
    newnode++;
    newnode = (list_t*)malloc(sizeof(list_t));
}


//  for(i=0; iitem.string);
//  pnewnode++;
}

    fprintf(stderr, "nInput a string:"); 
  exit(0);


}



int get_str(char *dstr){
 char *string; 
 int ch;
 string = (char*)malloc(1);
 dstr = string;
 while(1)
  {
    ch = getchar();
    if (ch!=27 && ch!='@')
        *(string++) =(char)ch;
    else
     break;
  }
//  fprintf(stderr, "%s", dstr);
  return 0;
}

|
int  get_str(char  *dstr){  
 char  *string;    
 int  ch;  
 string  =  (char*)malloc(1);  
 dstr  =  string;  //这里改的dstr是局部变量

需要用两个**,即int get_str(char **dstr),然后 *dstr = string

恭喜楼主的C语言编程已经进入两*级 :)

|
确实搞不懂楼主想做什么,为什么要自己一个一个去处理字符串呢?
fgets
fputs
不是很好用吗?
while(1)
  {
    ch = getchar();
    if (ch!=27 && ch!='@')
        *(string++) =(char)ch;
    else
     break;
  }
这段之前,你只为string分配了一个空间,你后来在没有继续分配空间的情况下就string++,这好象不合理吧!

|
这个地方好象也有问题
newnode++;//这是什么意思?如果malloc是连续分配的空间也许行得通,但是之前你只分配了一list_struct空间。
newnode = (list_t*)malloc(sizeof(list_t));

    
 
 

您可能感兴趣的文章:

  • 关于bash 字符串操作(求助)
  • 求助:对批量文件中的指定字符串进行替换:(批量替换)
  • 新手求助,编译时说不能解析字符是怎么回事?
  • [求助]vi中想把所有的换成/,这种特殊字符如何搞?
  • 求助 简单测试字符驱动 Cannot allocate memory
  • 求助! telnet到远程服务器后,如何访问服务器端字符设备
  • 关于字符设备驱动读写的问题,求助
  • 求助:在Linux下的一个字符串转换
  • 求助,如何用换行符替换文本中的指定字符串
  • sed 脚本求助:变量中含有转义字符处理
  • 求助:有关串口发送字符串问题
  • socket通信中的中文字符问题(菜鸟求助)
  • 在笔记本上安装linux转换字符界面求助
  • 在c++中,是否用方法可以将使用cout输出到屏幕上的字符给清除掉?请高手指点(高分求助)
  • 菜鸟求助:在 JAVA APPLET 里如何旋转 90 度显示一个字符?
  • 求助!我怎样才能使得我的Linux的字符界面tty都是显示纯英文,而图形界面就显示成中文呢?
  • 高分求助gtk_text_buffer_set_text参数中字符编码问题
  • [求助] linux字符文件设备访问的阻塞与非阻塞
  • [求助] 字符设备驱动,写数据和读数据都有问题,望大家帮忙[已解决,来人接分结贴]。
  • 求助:关于UNIX下格式化输出的问题,请大家关注一下
  • red hat下的minicom没有输出信息,求助
  • 求助 关于shell从文件中读取每行然后输出
  • 谁有办法再把STDOUT_FILENO关联到标准输出?(求助)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助! 如何获取服务器的剩余磁盘空间?
  • [求助]如何获取一个程序所使用的系统调用和参数?
  • 【求助】获取系统时间的毫秒值
  • 获取对方的 smtp server ,最高分求助!
  • 紧急求助:怎么获取一个目录中的所有目录和文件名?
  • 求助:为什么我我在MAC OS上 执行ioctl 函数SIOCGIFADDR的命令获取IP地址失败呢?
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助~~求助 ~~linux文件读写问题
  • 求助:信号 --13 进程中断
  • 求助,安装了红帽子后进不了
  • 新装linux求助
  • linux的 iptables问题求助
  • (高分求助)请问,那里有软件开发的<设计文档>
  • 一个简单的问题,高分求助!!!
  • 紧急求助:Unix下给文件夹重命名用什么命令?谢谢!!!!
  • VJ的一个问题,高分求助,熟悉VJ得请进!
  • 高分求助


  • 站内导航:


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

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

    浙ICP备11055608号-3