string数组
string A=to_string(a)
求长度
C/C++ strlen(str)和str.length()和str.size()都可以求字符串长度。
其中str.length()和str.size()是用于求string类对象的成员函数不包括‘/0’
strlen(str)是用于求字符数组的长度,其参数是char*。不包括'\0'
==============================================================================================================
1、字符串数字之间的转换
(1)string --> char *
string str("OK");
char * p = str.c_str();
(2)char * -->string
char *p = "OK";
string str(p);
(3)char * -->CString
char *p ="OK";
CString m_Str(p);
//或者
CString m_Str;
m_Str.Format("%s",p);
(4)CString --> char *
CString str("OK");
char * p = str.GetBuffer(0);
...
str.ReleaseBuffer();
(5)string --> CString
Cstring.format("%s", string.c_str());
(6)CString --> string
string s(CString.GetBuffer(0));
GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间,CString对象不能动态增长了。
(7)double/float->CString
double data;
CString.Format("%.2f",data); //保留2位小数
(8)CString->double
CString s="123.12";
double d=atof(s);
(9)string->double
double d=atof(s.c_str());
C++中字符数组与string的相互转换 - Boblim - 博客园
https://www.cnblogs.com/fnlingnzb-learner/p/6369234.html
C++中字符数组与string的相互转换
字符数组转化成string类型
char ch [] = "ABCDEFG";
string str(ch);//也可string str = ch;
或者
char ch [] = "ABCDEFG";
string str;
str = ch;//在原有基础上添加可以用str += ch;
将string类型转换为字符数组
char buf[10];
string str("ABCDEFG");
length = str.copy(buf, 9);
buf[length] = '\0';
或者
char buf[10];
string str("ABCDEFG");
strcpy(buf, str.c_str());//strncpy(buf, str.c_str(), 10);
c++中字符数组与字符串的转换 - csdn博客 https://blog.csdn.net/xinwang24/article/details/6612686
1:字符数组换为字符串
[cpp] view plain copy
- #include <iOStream>
- #include <string>
- using namespace std;
- int main(){
- char a[10]="aaaabbbba";
- string s(&a[0],&a[strlen(a)]);
- cout<<s<<endl;
- system("pause");
- }
[cpp] view plain copy
- #include <iostream>
- #include <string>
- using namespace std;
- int main(){
- string s="aaaavvva";
- char a[10];
- strncpy(a,s.c_str(),s.length());
- for(int i=0;i<10;i++)
- cout<<a[i]<<" ";
- cout<<endl;
- system("pause");
- }
============================================================================
一、
String.valueOf() 方法的使用 - 缺心眼的公牛 - 博客园
http://www.cnblogs.com/zhangjs8385/archive/2011/11/04/2236527.html
String.valueOf() 方法的使用1. 由 基本数据型态转换成 String
String 类别中已经提供了将基本数据型态转换成 String 的 static 方法也就是 String.valueOf() 这个参数多载的方法
有下列几种
String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串
String.valueOf(char c) : 将 char 变量 c 转换成字符串
String.valueOf(char[] data) : 将 char 数组 data 转换成字符串
String.valueOf(char[] data, int offset, int count) :
将 char 数组 data 中 由 data[offset] 开始取 count 个元素 转换成字符串
String.valueOf(double d) : 将 double 变量 d 转换成字符串
String.valueOf(float f) : 将 float 变量 f 转换成字符串
String.valueOf(int i) : 将 int 变量 i 转换成字符串
String.valueOf(long l) : 将 long 变量 l 转换成字符串
String.valueOf(Object obj) : 将 obj 对象转换成 字符串, 等于 obj.toString()
用法如:
int i = 10;
String str = String.valueOf(i);
这时候 str 就会是 "10"
2. 由 String 转换成 数字的基本数据型态
要将 String 转换成基本数据型态转
大多需要使用基本数据型态的包装类别
比如说 String 转换成 byte
可以使用 Byte.parseByte(String s)
这一类的方法如果无法将 s 分析 则会丢出 numberformatexception
byte :
Byte.parseByte(String s) : 将 s 转换成 byte
Byte.parseByte(String s, int radix) : 以 radix 为基底 将 s 转换为 byte
比如说 Byte.parseByte("11", 16) 会得到 17
double :
Double.parseDouble(String s) : 将 s 转换成 double
float :Double.parseFloat(String s) : 将 s 转换成 float
int :
integer.parseInt(String s) : 将 s 转换成 int
long :
Long.parseLong(String)
【C++】int转换为string的两种方法(to_string、字符串流) - CSDN博客
https://blog.csdn.net/chavo0/article/details/51038397
std::to_string
是C++标准(2011年)的最新版本中引入的功能。旧的编译器可能不支持它
第一种是to_string函数,这是C++11新增的,使用非常方便,简单查了下:C++11标准增加了全局函数std::to_string,以及std::stoi/stol/stoll等等函数(这几个就是string转int,long,以及long long啦~)
to_string这个函数还是很强大的!
string to_string (int val);
string to_string (long val);
string to_string (long long val);
string to_string (unsigned val);
string to_string (unsigned long val);
string to_string (unsigned long long val);
string to_string (float val);
string to_string (double val);
string to_string (long double val)
不仅int可以转换成string,这些都可以
#include <iostream>#include <string>
int main(){
double f = 23.43;
std::string f_str = std::to_string(f);
std::cout << f_str << '\n';}
第二种是借助字符串流:
标准库定义了三种类型字符串流:istringstream,ostringstream,stringstream
看名字就知道这几种类型和iostream中的几个非常类似,分别可以读、写以及读和写string类型,它们也确实是从iostream类型派生而来的。
要使用它们需要包含sstream头文件。
除了从iostream继承来的操作
1.sstream类型定义了一个有string形参的构造函数,
即: stringstream stream(s); 创建了存储s副本的stringstream对象,s为string类型对象
2.定义了名为str的成员,用来读取或设置stringstream对象所操纵的string值:
stream.str(); 返回stream中存储的string类型对象
stream.str(s); 将string类型的s复制给stream,返回void
于是……
string Int_to_String(int n)
{
ostringstream stream;
stream<<n; //n为int类型
return stream.str();
}
二、
#include <stdlib.h>
#include <stdio.h>
int
main(
void
)
{
int
n;
char
*str =
"12345"
;
n =
atoi
(str);
printf
(
"int=%d\n"
,n);
return
0;
}
C标准库了提供了 atoi, atof, atol, atoll(C++11标准) 函数将字符串转换成int,double, long, long long 型。
char str[] = "15.455";
double db;
int i;
db = atof(str); // db = 15.455
i = atoi(str); // i = 15
若字符串为string类型,则要用c_str()方法获取其字符串指针,如下:
string str = "15.455";
double db;
int i;
db = atof(str.c_str()); // db = 15.455
i = atoi(str.c_str()); // i = 15
相关阅读
【知识整理】string.h, string, cstring
原文链接 #include <cstring> //不可以定义string s;可以用到strcpy等函数 using namespace std; #include <string> /
以前我这样初始化一个数组,并自我感觉良好:int a[5] = { 0 }; // 全部初始化为0这种简单的写法让我非常爽,于是我又想把数组全部初
1. 定义及初始化 1. 1动态初始化(声明并开辟数组) 数组类型[] 数组名 = new 数据类型[数组长度]; 其中,数据类型可以是8种基本的
声明数组声明数组变量仅有一种语法,即:数据类型[] 变量名,比如:string[] strs;这句代码应该这样理解:变量strs的类型是数组strs的每一
var a = {'age':30,'sex':'male'}; alert(a.length);会弹出undefined 可以加入如下函数再计算length alert(count(a)); function