您的位置:首页 > 编程语言 > C语言/C++

用c和c++分别实现ASCII String to integers

2009-12-08 21:19 525 查看
c++的实现,需要使用stringstream流,也就是字符串流,使用它可以很方便实现ASCII String和Integers的互转

源代码如下:

#include <iostream>
#include <sstream>

using namespace std;

string& int_to_string(int &input)
{
static string str;
ostringstream ostream;
ostream << input;
istringstream istream(ostream.str());
istream >> str;
return str;
}

void string_to_int(string& str,int& output)
{
istringstream istream(str);
istream >>output;
}

int main()
{
int input = 1234;
int output = 0;
string str;

str = int_to_string(input);
cout << str << endl;

string_to_int(str,output);
cout << output <<endl;
return 0;
}


用c实现的话,最方便的就是使用sscanf和sprintf,如果对它们的使用不熟悉的话请参考:

sscanf:http://baike.baidu.com/view/1364018.htm

sprintf:http://baike.baidu.com/view/1295144.htm

源代码如下:

#include <stdio.h>

void int_to_string(int input,char *ptr)
{
sprintf(ptr,"%d",input);
}

int string_to_int(char str[])
{
static int output;
sscanf(str,"%d",&output);
return output;
}

int main()
{
char str[] = "1234";
int out;

out = string_to_int(str);
printf("%d/n",out);

char s[10];//Êý×ÖoutµÄλÊý¾ö¶¨ÁËsÊý×éµÄ´óС,Ò²¾Í˵outÊǼ¸Î»Êý£¬ÔòsµÄ´óСӦ¸ÃÊÇoutµÄλÊý¼Ó1
int_to_string(out,s);
printf("%s/n",s);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: