CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

字符串处理问题 ! 高手请进 ;

楼主delphijava((好之者不如乐之者))2005-04-03 18:02:30 在 C/C++ / C语言 提问

有个字符串     number:AAAA   =   usename   :   BBBB;  
   
    我想把number       和   username   分别取出来,   :   ,   AAAA     ,   =   ,   BBBB都是固定的;  
   
     
    只能用C   去做   ;    
   
   
  谢谢  
   
  问题点数:0、回复次数:10Top

1 楼yxxng(好好学习,天天向上!)回复于 2005-04-03 18:04:34 得分 0

先strstr把number和usename位置确定下来,再取出:,AAAA,=,BBBBTop

2 楼bzwm(不走完美)回复于 2005-04-03 18:47:28 得分 0

如果楼主不想用   string   处理的话,或许可以试试用指针啊,把number和usename位置上的char赋给一个char类型的数组,然后再把指针向后一动四位继续判断!  
   
  小弟对C了解很少,用这种方法不好做!楼主你加油!Top

3 楼delphijava((好之者不如乐之者))回复于 2005-04-03 18:48:08 得分 0

我现在要取出的是   number   ,   username   ;  
   
  有代码吗   ?   我用strchr   可是很难出来Top

4 楼ra3(军机大臣)回复于 2005-04-03 19:09:18 得分 0

void   fun2(char   *str,   char   *a,   char   *b)    
  {  
          char   *p   =   str;  
   
  //   取   "number"  
  for   (int   i   =   0;   *p   !=   0   &&   *p   !=   ':';   a[i++]   =   *(p++));  
   
  //   取   "usename"  
  p   =   strstr(str,   "=");  
  p++;  
  for   (int   i   =   0;   *p   !=   0   &&   *p   !=   ':';   b[i++]   =   *(p++));  
  }  
   
   
  int   main()  
  {  
  //*//  
  char   str[]   =   "number:AAAA   =   usename   :   BBBB;";  
  char   A[10]   =   {0};  
  char   B[10]   =   {0};  
   
  fun2(str,   A,   B);  
   
  cout   <<   "A:   "   <<   A   <<   endl;  
  cout   <<   "B:   "   <<   B   <<   endl;  
  //*/  
   
  getch();  
  }Top

5 楼ra3(军机大臣)回复于 2005-04-03 19:10:28 得分 0

如果   :   =   :   这样的格式固定的话可以用   fun2   函数;  
   
  其它的就自己改吧.  
  Top

6 楼kozzii(double-double)回复于 2005-04-03 19:37:41 得分 0

void   make(char*   in,char*number,char*   usename)  
  {  
          char   a[]   =   ":AAAA   =   ";  
          char   b[]="   :   BBBB";  
          char   *p=in,*q;  
                   
          q=strstr(in,a);          
          while(p!=q)   *number++=*p++;  
          *number='\0';  
           
          q=strstr(in,b);  
          p+=strlen(a);  
          while(p!=q)   *usename++=*p++;  
          *usename='\0';        
  }Top

7 楼kobefly(科比--网络学习中)回复于 2005-04-03 19:44:35 得分 0

我想你可以这样做  
   
  先用strtok用":="把字符串分离  
   
  然后跟“AAAA”"BBBB"用strcmp比较  
  就可以取到你想要的东西了Top

8 楼coldcrane(清风明月)回复于 2005-04-04 00:46:36 得分 0

char   number[256]   =   {0,};  
  char   username[256]   =   {0,};  
  char   *s   =   "number:AAAA   =   usename   :   BBBB;";  
  sscanf(s,"%[^:]:AAAA   =   %[^   ]",number,username);  
   
  自己处理buffer溢出的问题。Top

9 楼delphijava((好之者不如乐之者))回复于 2005-04-04 14:06:06 得分 0

先谢谢    
    kozzii(double-double)  
    ra3(黑鹰)   还有各位参于者   ;  
   
  还有  
  coldcrane(清风明月)   :  
  我这个也太高了!  
  我现在一下看不处来它的原理!  
   
  Top

10 楼delphijava((好之者不如乐之者))回复于 2005-04-04 17:15:49 得分 0

楼上的   ;  
  我们在谈C,不是VC;  
   
  用C的大都是   嵌入系统   ;  
  LINUX   ,UNIX下编程Top

相关问题

  • 关于字符串处理的问题,请高手进进
  • 一个字符串问题,字符串处理比较好的大虾们请进!~感激不尽!!!!!!!!
  • 请问如何对字符串中的网址进行处理?
  • 会正则表达式处理字符串的请进!
  • 高手请进,关于一个字符串的处理?
  • 字符串问题.请进
  • SQL 中进行字符串处理
  • 请教ASP的字符串处理?
  • 字符串处理问题,请帮忙
  • 寻问一个超简单的问题(字符串处理),知情者请进!!!

关键词

  • usename
  • bbbb
  • aaaa
  • 取出
  • number
  • str
  • char

得分解答快速导航

  • 帖主:delphijava

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo