如何读取一段字符串

zyp911 2007-09-09 12:14:34
假如有一段字符串
a,b,c,d,e,f,g
中间以“,”隔开

有什么办法把 abcdefg 提取出来

fgets
sscanf
...全文
207 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
iambic 2007-09-09
  • 打赏
  • 举报
回复



#include <iostream>
#include <string>
using namespace std;

int main()
{
string s = "a,b,c,d,e,f,g";
string::size_type i = 0;
for(string::size_type i = 0; i!=s.size(); ++i)
{
string::size_type z = s.find(',', i);
if(z == string::npos)
{
cout << s.substr(i) << endl;
break;
}
cout << s.substr(i, z-i) << endl;
i = z;
}
}
huzhangyou 2007-09-09
  • 打赏
  • 举报
回复
原文

http://www.libing.net.cn/read.php/255.htm
huzhangyou 2007-09-09
  • 打赏
  • 举报
回复
TStringList * __fastcall WGQ_ReadAndAnalysisFile::Split(WideString Spliter, WideString String, int SplitNumber)
{

int const MaxPos = 0x7fffffff, StartPos = 1;
int FindPos, CharLen, Length, MySplitNumber=0;
TStringList *Strs = new TStringList;
BOOL LostTail;

//if (SplitNumber == 0) LostTail = TRUE; ²»Ñϸñ£¬LostTail ÔÚ
// SplitNumber != 0 ʱ¿ÉÄÜÊÇÈκÎÖµ¡£¹ÊÐÞ¸ÄÈçÏ£º
LostTail = (SplitNumber == 0);
//^^^^^^^^^^^^^^^^^^^^^^^^^^\\
if (SplitNumber <= 0) SplitNumber = MaxPos;
else MySplitNumber = SplitNumber;
CharLen = Spliter.Length(); Length = String.Length();

while(1)
{
FindPos = String.Pos(Spliter);
if (CharLen <= 0){
if (FindPos > Length) break;
else FindPos++;
}
if ((FindPos == 0) || (SplitNumber <= 1)){
Strs->Add(String.SubString(StartPos,MaxPos));
break;
}
--SplitNumber;
Strs->Add(String.SubString(StartPos,FindPos - StartPos));
String = String.SubString(FindPos+CharLen,MaxPos);
}
int i;
for (i=Strs->Count; i<MySplitNumber; i++){
Strs->Add("");
}
if (LostTail){
for (i = Strs->Count - 1; i>=0; i--)
if (Strs->Strings[i] == "") Strs->Delete(i);
else break;
}

return Strs;

}
ckt 2007-09-09
  • 打赏
  • 举报
回复
读取后解析字符串。
遍历检查,读到,不放入到新缓存中,读到字符串尾就能得到你要的字符串

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧