数字字符串 格式化 数字

xiaobo1018 2006-10-19 10:54:32
各位大侠 ,请教个问题 。
如何 把 一个 数字字符串 变成 纯粹的数字啊
比如说 char temp[80] = "123456789";
我想把 其中的数字提出来 变成数字123456789。而不是字符.
谢谢~~~~~~
...全文
280 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
myvicy 2006-10-20
  • 打赏
  • 举报
回复
判断一下字符串长度,在系统范围内的用库函数转换就可以了。如果超出了,看你的需求决定如何取舍了。
lann64 2006-10-19
  • 打赏
  • 举报
回复
数字大了不怕溢出?80位?
按字符读出循环累加 sum=sum*10+temp[i]-'0'
夜-快乐奔跑 2006-10-19
  • 打赏
  • 举报
回复
C中有库函数可以实现这样的功能呀,如atoi();strtol();还有其他同一系列的函数.
飞哥 2006-10-19
  • 打赏
  • 举报
回复
转换字符串的方式很多,
string是个类,里面有个c_str()成员函数,返回const char*,atoi函数把一个字符串传唤为int
sscanf有类似的功能,根据参数fmt可以有多种解释方式。
#include <iostream>
#include <string>
using namespace std;

int main()
{
string str="123456";
int i;
char buf[10];

strcpy(buf,str.c_str());
sscanf(buf,"%d",&i);

cout<<"i :"<<i<<endl;
return 0;
}
飞哥 2006-10-19
  • 打赏
  • 举报
回复
#include<sstream>
#include<iostream>

using namespace std;
int main(void)
{
long int a ;

char temp[80] = "123456789";
istringstream is(temp);

is>>a;

cout<<a<<endl;

return 0;
}
0黄瓜0 2006-10-19
  • 打赏
  • 举报
回复
TC 请用long和%ld
0黄瓜0 2006-10-19
  • 打赏
  • 举报
回复
char temp[80] = "123456789";
int x;
sscanf(temp,"%d",&x);
takbj 2006-10-19
  • 打赏
  • 举报
回复
int i; iRest[80];
for(i=0;i<80;i++)
iRest[i] = temp[i]-((int)"1"-1);
???????????

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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