CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  工具平台和程序库

stl 中有没有现成的函数,将以逗号分割的字符串,转化为字符串数组

楼主green2(绿叶)2003-01-07 17:33:01 在 C/C++ / 工具平台和程序库 提问

stl   中有没有现成的函数,将以逗号分割的字符串,转化为字符串数组 问题点数:20、回复次数:15Top

1 楼liangshoulong(咖啡需要学习)回复于 2003-01-07 17:47:34 得分 0

真是懒惰!就不能自己写嘛!嘿嘿Top

2 楼metellica(金属)回复于 2003-01-07 18:00:31 得分 0

c#和java好像可以Top

3 楼bigwhiteshark(变性鲨鱼)回复于 2003-01-08 19:04:32 得分 0

STL   是模板库  
  还有一个C++标准库  
  只要你  
  #include<CString>Top

4 楼widewave(冯雨(历史事实))回复于 2003-01-08 19:36:45 得分 0

好象有,你找找。Top

5 楼Solstice(大佛)回复于 2003-01-08 23:55:44 得分 0

http://cm.bell-labs.com/cm/cs/tpop/csvgetlinec++.cTop

6 楼fixopen(dup)回复于 2003-01-09 07:55:19 得分 5

boost库里有一个tokenization什么的,专干这种事!!Top

7 楼Alain_Delone(阿龙)回复于 2003-01-09 16:26:44 得分 0

晕,好像没现成的,不过用以有的库函数实现很容易啊,甚至用C++流的特点逐个读取INT   和CHAR也可以啊Top

8 楼HaoGeGe(交流的方向)回复于 2003-01-10 16:27:08 得分 0

http://www.boost.org/libs/tokenizer/index.htmTop

9 楼molti(八极狂侍)回复于 2003-02-20 23:17:30 得分 0

string   str1="fasas,fsadfs",  
                str2="fdas,fasaf,fsd",  
                str3="fsa,fas,fas";  
   
  string   myStr=str1+str2+str3;  
   
  std::replace(myStr.begin(),myStr.end(),',','');  
  Top

10 楼child_bj(今天能看见山)回复于 2003-02-20 23:48:40 得分 0

C++的string类有find函数,能找到某一个字符的位置。当然能指定开始寻找的位置了。  
  然后用string的substring函数截取字符串,就OK了。Top

11 楼ylangin(Forest)回复于 2003-02-21 13:08:34 得分 10

刚好自己写了一个  
   
  使用  
    vector<string>   tArray;  
    char   string1[];  
    get_sub(string1,   ";",   tArray);  
   
  程序:  
  int   get_sub(const   char*   lpszString,   char*   szSeps,   vector<string>&   tArray)  
  {  
  if   (   !   lpszString   ||   !   szSeps   )  
  return   -1;  
  if   (   strlen(lpszString)   >   LINE_MAX_LEN)  
  return   -2;  
  char* pTok(0);  
   
  char   sz[LINE_MAX_LEN]={0};  
  strcpy(sz,   lpszString); // 要改变串的值,所以重新拷贝  
  pTok   =   strtok(sz,   szSeps);  
  while   (   pTok   )  
  {  
  tArray.push_back(pTok);  
  pTok   =   strtok(NULL,   szSeps);  
  }  
  return   0;  
  }Top

12 楼green2(绿叶)回复于 2003-03-03 17:50:09 得分 0

strtok函数不是STL的非windows平台中能使用吗?谢谢!Top

13 楼shornmao(毛豆子[死猫])回复于 2003-03-04 12:14:54 得分 0

用getline可以指定逗号作为虚拟的行结束符,已得到都好分隔的字符串序列。Top

14 楼jfwan(大家进步)回复于 2003-03-04 16:16:30 得分 5

#include   <iostream>  
  #include   "boost/tokenizer.hpp"  
  #include   "boost/token_functions.hpp"  
   
  int   main()  
  {  
          using   namespace   std;  
          typedef   boost::tokenizer<   boost::char_separator<char>   >   btokenizer;  
   
          const   string   s   =   "abc,defg,12,3";  
          boost::char_separator<char>   sep(",");  
          btokenizer   tok(s,   sep);  
   
          for   (btokenizer::iterator   i   =   tok.begin();   i   !=   tok.end();   ++i)  
                  cout   <<   *i   <<   endl;  
  }  
  Top

15 楼allen1981813(Nahe des Geliebten)回复于 2003-03-04 16:31:04 得分 0

strtokenTop

相关问题

  • 怎样把一个以逗号分隔的字符串变成一个数组?
  • 字符串指针数组
  • 请教:字符串数组
  • 字符串数组处理
  • 字符串数组赋值
  • 字符串数组比较
  • 又没有什么函数可以把一个用逗号分割的字符串变成一个数组?
  • [高分] 如何把一个字符串用空格与逗号分开放到数组里面?
  • 求一个函数,把一个用逗号分割的字符串转换成一个数组?
  • 求判断一字符串在数组中字符串函数?

关键词

  • c++
  • 函数
  • stl
  • boost
  • 字符串
  • ptok
  • 逗号
  • szseps
  • 现成
  • btokenizer

得分解答快速导航

  • 帖主:green2
  • fixopen
  • ylangin
  • jfwan

相关链接

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

广告也精彩

反馈

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