社区
C++ Builder
帖子详情
有一个字符串,x,x,x,x,x x表示一个数据,如26,568,472,34,555 如何把这个五个数读出来?放在一个数组里!谢谢
amwn
2003-08-26 10:06:52
有一个字符串,x,x,x,x,x x表示一个数据,如26,568,472,34,555 如何把这个五个数读出来?放在一个数组里!谢谢
...全文
118
15
打赏
收藏
有一个字符串,x,x,x,x,x x表示一个数据,如26,568,472,34,555 如何把这个五个数读出来?放在一个数组里!谢谢
有一个字符串,x,x,x,x,x x表示一个数据,如26,568,472,34,555 如何把这个五个数读出来?放在一个数组里!谢谢
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
free1949
2003-08-26
打赏
举报
回复
Dala()的代码有问题:
其中的j值不会改变,永远指向第一个“,”的位置。
//下面是我的:
int a[MAX];
AnsiString S = "26,568,472,34,555";
AnsiString temp("");
int Pos=S.Pos(",");
int1=0;
while(Pos!=0)
{
temp=S.SubString(1,Pos-1);
a[i]=temp.ToInt();
i++;
S.Delete(1,Pos);
Pos=S.Pos(",");
}
风-君子
2003-08-26
打赏
举报
回复
AnsiString S = "26,568,472,34,555";
int Pos,val;
while(S != ""){
Pos = S.Pos(",");
if(Pos == 0)
{
val = s.ToInt();
S ="";
}
else
{
val = S.SubString(1,Pos - 1).ToInt();
S = S.SubString(Pos + 1,S.Length() - Pos);
}
};
Dala
2003-08-26
打赏
举报
回复
AnsiString S = "26,568,472,34,555";
int i=1, j, val;
while(j=S.AnsiPos(",")){
val = S.SubString(i,j-i).ToInt();
// val是你要的数,可以取出放在你的数组里。
i = j+1;
};
ghwhz
2003-08-26
打赏
举报
回复
我想应该做一个循环就读出来了
HeLZ
2003-08-26
打赏
举报
回复
结了,也要拿分来了。
AnsiString ansi = "2,454,5265,312,3343,983";
TStringList *strl = NULL;
try
{
strl = new TStringList();
strl->CommaText = ansi;
ShowMessage(strl->Text);
}
__finally
{
if (strl != NULL)
{
delete strl;
strl = NULL;
}
}
sun_wyz
2003-08-26
打赏
举报
回复
靠,结贴啦:(
刚2分钟!!
sun_wyz
2003-08-26
打赏
举报
回复
试试偶的吧,呵呵
AnsiString S = "26,568,472,34,555";
TSysCharSet j,k;
j<<',';
k<<'n';
TStringList *p= new TStringList;
ExtractStrings(j,k,s.c_str(),p);
int h=StrToInt(p->Strings[0]); // 26
int m=StrToInt(p->Strings[1]); // 568
int s=StrToInt(p->Strings[2]); // 472
.
.
.
.
剩下的自己写吧,然后放到数组里
amwn
2003-08-26
打赏
举报
回复
GaoLun(★米老鼠★) 方法可行, free1949(大白菜,小胡子) 的方法假如26,568,472,34,555 还有一个逗号也可行。
amwn
2003-08-26
打赏
举报
回复
这里程序都有一些问题!帮忙!
qiuafa
2003-08-26
打赏
举报
回复
接风,上!
gk0205
2003-08-26
打赏
举报
回复
char *str="26,568,472,34,555";
char *psub;
psub=strtok(str,',');
while(psub)
{
...
psub=strtok(NULL,',');
}
gallardo
2003-08-26
打赏
举报
回复
標準C庫函數:strtok()
lvjack
2003-08-26
打赏
举报
回复
同意GaoLun(★米老鼠★)
我曾经看到的另一种方法
实现split
//用标准库的vector和string
#include <vector>
#include <string>
#include <iostream>
using namespace std;
vector<string> *split(string& sLine, char flag)
{
vector<string> *psvect=new vector<string>;//string数组的指针
string::size_type pos=0,prev_pos=0;
while( (pos=sLine.find_first_of(flag,pos))!=string::npos)
{
psvect->push_back(sLine.substr(prev_pos,pos-prev_pos));
prev_pos = ++pos;
}
psvect->push_back(sLine.substr(prev_pos,pos-prev_pos));//处理最后一段
return psvect;
}
int main(int argc, char* argv[])
{
string s="2003-7-1";
vector<string> *psvect; //string数组的指针
psvect=split(s,'-');
for( unsigned int i=0; i<psvect->size(); i++)
{
cout<< (*psvect)[i]<<endl;
}
delete psvect;
cin.get();
return 0;
}
//---------------------------------------------------------------------------
GaoLun
2003-08-26
打赏
举报
回复
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringList *Strs= new TStringList;
Strs->Delimiter = ';';
Strs->DelimitedText = "123;34;33;45;56"
ShowMessage(IntToStr(Strs->Count));
for (int i=0;i<Strs->Count;i++)
{
p[i]=Strs->Strings[i];
}
}
改一下 就可以了!~
yhz
2003-08-26
打赏
举报
回复
你试试看:
char Test[]="26,568,472,34,555";
int a, b, c, d, e;
sscanf(Test, "%d,%d,%d,%d,%d", &a, &b, &c, &d, &e);
0x15.基本
数
据
结构 —
字符串
(KMP算法(含详细证明)和最小
表示
法)
目录一、KMP模式匹配1.引理:2.引理证明:3.使用优化的算法计算nextnextnext
数
组
:4.luogu P3375 【模板】KMP
字符串
匹配5.UVA1328 Period二、
字符串
的最小
表示
1.AcWing 137. 雪花雪花雪花 声明: 本系列博客是《算法竞赛进阶指南》+《算法竞赛入门经典》+《挑战程序设计竞赛》的学习笔记,主要是因为我三本都买了 按照《算法竞赛进阶指南》的目录顺序学习,包含书中的少部分重要知识点、例题解题报告及我个人的学习心得和对该算法的补充拓展,仅用于学习交流和复习,无
【第20题】给出
一个
R进制的
数
x,求它的十进制
表示
难度:★★☆☆☆,进制转换
输入
一个
正整
数
数
组
,把
数
组
里
所有
数
字拼接起来排成
一个
数
,打印能拼接出的所有
数
字中最小的
一个
。
题目链接 题目描述 输入
一个
正整
数
数
组
,把
数
组
里
所有
数
字拼接起来排成
一个
数
,打印能拼接出的所有
数
字中最小的
一个
。 例如输入
数
组
{3,32,321},则打印出这三个
数
字能排成的最小
数
字为321323。 参考别人的思路在这
里
自定义
一个
比较大小的函
数
,比较两个
字符串
s1, s2大小的时候,先将它们拼接起来,比较s1+s2,和s2+s1那个大,如果s1+s2大,那说明s2应该放前面,所以按这个规则...
C语言编程>第十九周 ⑥ 下列给定程序中函
数
fun的功能是:从低位开始取出长整型变量x中偶
数
位上的
数
,依次构成
一个
新
数
放在
y中。
例题:下列给定程序中函
数
fun的功能是:从低位开始取出长整型变量x中偶
数
位上的
数
,依次构成
一个
新
数
放在
y中。 例如,当x中的
数
为12
34
56时,则y中的
数
应为135。 注意:不要改动main函
数
,不能增行或删行,也不能更改程序的结构。 代码如下: #include<conio.h> #include<stdio.h> void fun(long x,long*y) { long t=10; x/=10; *y=x%10; while(x>0) { x=x/100;
从
字符串
中筛选出连续的
数
字,并将其放入另
一个
数
组
!
题目(摘自谭克强版C语言): 输入
一个
字符串
,内有
数
字和非
数
字字符,如a123x456as789x123,将其中连续的
数
字作为
一个
整
数
,依次存放到
数
组
a中,例如存放123在a[0]中,并统计共有多少个这样的整
数
,并且输出。 算法:我在网上找了这个题的算法,基本上都是按照老谭的那样算的,说实话我没太看懂老谭的代码,感觉很乱,他的思路到是可以借鉴。所以我写了自己的算法,高手路过还请多多
C++ Builder
13,871
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章