欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

字符串和数字的转换

程序员文章站 2024-03-17 13:25:52
...

int转char*


使用_itoa(int,char*,int)//要转的数字,字符串,进制
int main()
{
	int num1 = 123;
	int num2 = 456;
	char str[10];
	char *temp = _itoa(num1,str,10);

	printf("str=%s",str);
	printf("temp=%s",temp);
	system("pause");
	return 0;
}

char*转int

使用atoi(char*)//字符串,返回值是转之后的int

```cpp
int main()
{	
	char *str = "123456";
	int temp = atoi(str);
	printf("temp=%d",temp);

	system("pause");
	return 0;
}

int转string


```cpp
#include<iostream>
using namespace std;
#include<sstream>
int main()
{	
	int num1 = 123;
	string str;
	stringstream ss;
	ss<<num1;
	ss>>str;
	cout<<str;
	system("pause");
	return 0;
}

string转int

#include<iostream>
using namespace std;
#include<sstream>
int main()
{	
	int num1 ;
	string str = "123456";
	stringstream ss;
	ss<<str;
	ss>>num1;
	cout<<num1;
	system("pause");
	return 0;
}

string转char*

string可以被看成是以字符为元素的一种容器。字符构成序列(字符串)。有时候在字符序列中进行遍历,标准的string类提供了STL容器接口。具有一些成员函数比如begin()、end(),迭代器可以根据他们进行定位。
注意,与char不同的是,string不一定以NULL(’\0’)结束。string长度可以根据length()得到,string可以根据下标访问。所以,不能将string直接赋值给char

#include<iostream>
using namespace std;
#include<sstream>
int main()
{	
	string str = "hello";
	const char* temp = str.c_str();
	cout<<temp;
	
	system("pause");
	return 0;
}

char*转string

printf只能输出C语言内置的数据,而string不是内置的,只是一个扩展的类

#include<iostream>
using namespace std;
#include<sstream>
int main()
{	
	char *temp = "hello" ;
	string str ;
	str = temp;
	cout<<str;//可以直接输出hello
	printf("%s",str.c_str());//需要使用c_str()变成char*
	system("pause");
	return 0;
}
相关标签: c++ char* string