C++不同类型字符串之间的相互转换
2017-10-11 16:46
549 查看
C++中不同类型字符串之间的互相转换
C++中字符串的类型有,char [],char*,以及类的:String ,MFC中的Cstring,QT中的Qstring 以及字符串和整数之间的转换,他们之间的转换方法或者函数如下1. 字符串的输入:
string str;getline(cin,str); //可输入空格,遇到换行符结束
char* str;
gets(str) ; //可输入空格,遇到换行符结束
scanf("%s",str); //遇到空格结束
cin>>str // 遇到空格 结束
char c=getchar() ; //获取一个字符
2. 字符串间的转化
1 string to CString
CString.format("%s",string.c_str());
2 CString to string
stringstr(CString.GetBuffer(str.GetLength()));
3 string to char *
char *p=string.c_str();
4 char * to string
string str(char*);
5 CString to char *
strcpy(char,CString,sizeof(char));
基于UNICODE的工程是不行的,CString会以UNICODE的形式来保存数据,强制类型转换只会返回第一个字符
6 char * to CString
CString.format("%s",char*);
7. Qstring 和 string:
QString qstr;
string str;
str = qstr.toStdString();
qstr = QString::fromStdString(str);
8. C库函数
strcpy(str1,str2);
strncpy(str1,str2,n);
string str,a,b;
a=str.substr(index,size);
3. 字符串和整数的转换
string i2c(int i){
intb;
charc;
stringstr;
while(i != 0)
{
b= i % 10;
c= b + '0';
str= c + str;
i= i / 10;
}
returnstr;
}
int c_i(string & str)
{
intsum = 0;
for(unsigned int i = 0;i<str.length();++i)
sum= sum * 10 + str[i] - '0';
returnsum;
}
int num = 100;
char str[25];
itoa(num, str, 10); //整数转化为字符串
char a[]=”-100”;
int c;
c=atoi(a);//字符串转化为整数
char str[255];
sprintf(str, "%x", 100); //将100转为16进制表示的字符串。
相关文章推荐
- C++中各种字符串类型之间的相互转换
- C++中不同数据类型之间的相互转换
- C++实现字符串和整数之间的相互转换
- C++不同类型数值变量之间相互赋值的规则
- c/vc/c++不同数据类型之间的转换
- 完成一程序演示字符数组、C风格字符串、std::string和MFC中的Cstring类型之间的相互转换
- C++中字符串与数字类型之间的转换
- Go语言中不同类型切片之间的相互转换
- java 中基本类型和字符串之间的相互转换
- JAVA字符串与整形、浮点类型之间的相互转换总结
- C++抽象编程——字符串与整数之间的相互转换详解
- C++字符串类型和数字之间的转换
- C++中不同类型数据之间的转换(调用库函数)
- C++字符串之间的相互转换
- C++中不同类型数据之间的转换(不调用库函数)
- 数值和字符串相互转换(C++ 数据类型转换技巧)
- 基本类型包装类字符串之间的相互转换
- java基本数据类型、对应的封装类以及字符串之间的相互转换
- C++中时间与字符串之间的相互转换
- [Tip: _itow]数值和字符串相互转换(C++ 数据类型转换技巧)