必威体育Betway必威体育官网
当前位置:首页 > IT技术

String与数组

时间:2019-08-07 03:13:12来源:IT技术作者:seo实验室小编阅读:63次「手机版」
 

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

  1. #include <iOStream>  
  2. #include <string>  
  3. using namespace std;    
  4. int main(){  
  5.     char a[10]="aaaabbbba";  
  6.     string s(&a[0],&a[strlen(a)]);  
  7.     cout<<s<<endl;  
  8.     system("pause");  
  9. }  

2:把字符串转换为字符数组

[cpp] view plain copy

  1. #include <iostream>  
  2. #include <string>  
  3. using namespace std;    
  4. int main(){  
  5.     string s="aaaavvva";  
  6.     char a[10];  
  7.    strncpy(a,s.c_str(),s.length());        
  8.     for(int i=0;i<10;i++)  
  9.         cout<<a[i]<<" ";  
  10.     cout<<endl;  
  11.     system("pause");  
  12. }  

============================================================================

一、

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> /

C/C++数组初始化的一些误区

以前我这样初始化一个数组,并自我感觉良好:int a[5] = { 0 }; // 全部初始化为0这种简单的写法让我非常爽,于是我又想把数组全部初

Java中数组的定义及初始化

1. 定义及初始化 1. 1动态初始化(声明并开辟数组) 数组类型[] 数组名 = new 数据类型[数组长度];  其中,数据类型可以是8种基本的

数组声明和赋值总结

声明数组声明数组变量仅有一种语法,即:数据类型[] 变量名,比如:string[] strs;这句代码应该这样理解:变量strs的类型是数组strs的每一

javascript 中数组长度统计

var a = {'age':30,'sex':'male'}; alert(a.length);会弹出undefined 可以加入如下函数再计算length alert(count(a)); function

分享到:

栏目导航

推荐阅读

热门阅读