社区
C++ 语言
帖子详情
C++语言字符串转化成整型数组,急!!!
cailaoyang
2006-12-02 11:40:27
怎样将一段字符串转化为整型数组呢?例如
string str="78 89 a bc d 98 87 54 ";转化后的结果是
array[i]={78,89,98,87,54};
...全文
941
20
打赏
收藏
C++语言字符串转化成整型数组,急!!!
怎样将一段字符串转化为整型数组呢?例如 string str="78 89 a bc d 98 87 54 ";转化后的结果是 array[i]={78,89,98,87,54};
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stone_lan
2006-12-06
打赏
举报
回复
不错,受益.
boland_zh
2006-12-05
打赏
举报
回复
请问个问题 怎样在发帖子啊
owlling
2006-12-05
打赏
举报
回复
呵呵,你的意思是你不给分了,我们被耍了?哈哈哈
==================================
欢迎访问我的个人主页:http://www.lingjie.net/
==================================
cailaoyang
2006-12-05
打赏
举报
回复
谢谢大家了,由于分数有限,请大家多多原谅了!
owlling
2006-12-02
打赏
举报
回复
a7这种页可以在if部分设定下。思路都一样,我就不罗嗦了
==================================
欢迎访问我的个人主页:http://www.lingjie.net/
==================================
owlling
2006-12-02
打赏
举报
回复
哦,如果bc代表两个数字的话(他们没有空白字符分割),else部分可以改为
else
{
for(int i=0;i < tmp.length();++i)
coll.push_back(tmp[i]);
}
==================================
欢迎访问我的个人主页:http://www.lingjie.net/
==================================
lei001
2006-12-02
打赏
举报
回复
请问lz:
如果遇到string str="78 89 a7 bc d 98 87 54 "
结果是
string str="78 89 7 98 87 54 "
还是
string str="78 89 98 87 54 ?"
owlling
2006-12-02
打赏
举报
回复
如果要考虑上面的bc是连在一起的,没有空白字符分割,可以修改如下
#include <iostream>
#include <vector>
#include <algorithm>
#include <sstream>
int main(int argc, char* argv[])
{
std::string str="78 89 a bc d 98 87 54",tmp;
std::istringstream in(str);
std::vector<int> coll;
while(in >> tmp)
{
if(isdigit(tmp[0]))
coll.push_back(atoi(tmp.c_str()));
else
{
int tsum=0;
for(int i=0;i < tmp.length();++i)
tsum += tmp[i];
coll.push_back(tsum);
}
}
std::vector<int>::iterator it = coll.begin();
for(;it != coll.end(); ++it)
std::cout << *it << std::endl;
}
==================================
欢迎访问我的个人主页:http://www.lingjie.net/
==================================
owlling
2006-12-02
打赏
举报
回复
stream是忽视空白字符的
==================================
欢迎访问我的个人主页:http://www.lingjie.net/
==================================
owlling
2006-12-02
打赏
举报
回复
#include <iostream>
#include <vector>
#include <algorithm>
#include <sstream>
int main(int argc, char* argv[])
{
std::string str="78 89 a b c d 98 87 54",tmp;
std::istringstream in(str);
std::vector<int> coll;
while(in >> tmp)
{
if(isdigit(tmp[0]))
coll.push_back(atoi(tmp.c_str()));
else
coll.push_back(tmp[0]);
}
std::vector<int>::iterator it = coll.begin();
for(;it != coll.end(); ++it)
std::cout << *it << std::endl;
}
==================================
欢迎访问我的个人主页:http://www.lingjie.net/
==================================
jixingzhong
2006-12-02
打赏
举报
回复
string str="78 89 a bc d 98 87 54 ";
可以是其他的字符串,
不过,
如果里面的 数值 超过了 5 个,
那么 array[5]={0}; ==》 array[N]={0};
N 是数值的个数 ...
jixingzhong
2006-12-02
打赏
举报
回复
#include <sstream>
#include <string>
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
string str="78 89 a bc d 98 87 54 ";
int i, j=0, array[5]={0};
for(i=0; i<str.length(); i++)
{
if(isdigit(str[i]))
{
int k=i+1;
if(isdigit(str[k]))k++;
istringstream tmp(str.substr(i, k-i));
tmp >> array[j++];
i = k;
}
}
for(i=0; i<5; i++)
cout<<array[i]<<"\t";
system("pause");
return 0;
}
owlling
2006-12-02
打赏
举报
回复
先把非数字和数字分开,然后数字用atoi,非数字cast成int
比如
int a = atoi("57")
int b = (int)'a' // 其实不cast也行的
==================================
欢迎访问我的个人主页:http://www.lingjie.net/
==================================
jixingzhong
2006-12-02
打赏
举报
回复
由于里面有 非数字字符,
处理起来比较麻烦,
需要先对 string 预处理 ...
jixingzhong
2006-12-02
打赏
举报
回复
用 C++ String Streams
todototry
2006-12-02
打赏
举报
回复
是地
jacknes009
2006-12-02
打赏
举报
回复
按照你的意思,,首先分离字符串,然后用atoi()函数转换就可以了,,
todototry
2006-12-02
打赏
举报
回复
atoi()函数
longjing_g
2006-12-02
打赏
举报
回复
一个字符一个字符的读,遇到' '存入array中,是0-9字符就相应转换成数字,然后得到需要的数字 x= x*10 + y ; 否则,无操作
abblly
2006-12-02
打赏
举报
回复
不能直接转吧,你把你的字符串里面的数字找出来,根据数字的个数new一个数据,然后用找出来的的数字初始化这个数组,自己看看string的find相关方法吧。
字符串
转
整型
其功能是将 s 中以
字符串
形式存放的非负整数,转换成相应整数返回。例如,如果s 中存放
字符串
“1234”,则该函数的返回值就是 1234。假设s 中的字符全是数字,且不考虑s 是空串或s 太长的情况。
JNI调用大全
Chap1:JNI完全手册......Chap8:如何将java传递过来的jbyteArray转换成C/
C++
中的BYTE
数组
... 47 Chap5:使用JNI技术实现java程序调用第三方dll(c/
c++
)文件的功能... 47 Chap9:如何编写jni方法(转载)... 55
C++
语言
基础视频教程
C++
语言
基础视频培训课程:本课与主讲者在大学开出的程序设计课程直接对接,准确把握知识点,注重教学视频与实践体系的结合,帮助初学者有效学习。本教程详细介绍
C++
语言
中的封装、数据隐藏、继承、多态的实现等入门...
C
语言
程序设计(高清PDF)
5.1.2
字符串
使用的一维
数组
79 5.2 二维
数组
80 5.2.1 二维
数组
的一般形式 80 5.2.2
字符串
数组
84 5.3 多维
数组
85 5.4
数组
的初始化 85 5.4.1
数组
初始化 85 5.4.2 变长
数组
的初始化 86 5.5 应用程序举例 87 第6...
C++
整型
数组
转为
字符串
[自用]
【代码】
C++
整型
数组
转为
字符串
[自用]
C++ 语言
64,649
社区成员
250,477
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章