作者ijb ()
看板EE_DSnP
标题Re: [问题] 字串Part3.......
时间Tue Oct 23 10:23:36 2007
不晓得对大家有没有帮助就是了 int to string
第一种:
#include <stdio.h>
int main() {
int ss;
char temp[64];
string str;
ss = 1000;
sprintf(temp, "%d", ss);
string s(temp);
cout<<s.c_str()<<endl;//1000
cout<<s.size()<<endl;
return 0;
}
第二种:
#include <stdio.h>
#include <stdlib.h>
int main() {
char buffer[20];
int i = 3445;
_itoa( i, buffer, 10 );
string s(buffer);
}
第三种:
#include <iostream>
#include <sstream>
using namespace std;
int main() {
int aaa=4;
stringstream s1;
s1 << aaa;
string s=s1.str();
cout << s << endl;
return 0;
}
大家还有想到哪几种方法吗??
p.s: 後来想想这是大一的课程, 所以觉得还是要服务一下学弟们, 有不好的言词请见谅!
※ 引述《ric2k1 (Ric)》之铭言:
: ※ 引述《lionel20002 (~小遥~)》之铭言:
: : 用字串写第三题已经快完成了...
: : 只剩下以下几个问题....
: : 1.将int===>string方法
: : (有人问过string===>int的转换方法,但我找不到int===>string...)
: 1. 用 atoi()
: string str;
: cin >> str;
: int strI = atoi(str.c_str());
: 2. 直接转
: string str;
: cin >> str;
: unsigned strI = 0, i;
: for (i = 0; i < str.length()-1; i++) {
: strI += int(str[i] -'0');
: strI *= 10;
: }
: strI += int(str[i] -'0');
: cout << strI << endl;
: : 2.想要字串输出固定的长度要怎麽做?
: : 举例: A字串:123 想要变成000123
: : B字串:1 想要变成000001
: 自己想想看罗 !
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.42.185
1F:→ ijb:第三种,我自己有compile过,应该没问题, 第一,二种只是概念 10/23 10:24