c 字串處理

2021-10-05 16:54:53 字數 1404 閱讀 1671

char* 轉std::string

1.對std::string進行賦值

const char* p = "hello world";

std::string str = p; // 可以對str直接賦值

cout << str;

//==>

// hello world

(string不一定以『\0』結束所以如果反過來用string賦值char*往往會出錯,string本質上是容器)

2.如果字串長度未知,使用建構函式

const char *s = "hello, world!";

std::string str(s);

3.如果字串長度已知,則按長度構造std::string

char* data = ...;

int size = ...;

std::string mystring(data, size);

4.如果string已被構造,需要更改,則使用std::string的.assign()函式

std::string mystring;

char* data = ...;

int size = ...;

mystring.assign(data, size);

const char* charpointer = "hello, world!\n";

std::string strfromchar;

std::cout<std::string轉char*

.data()

using namesapce std;

string str = "hello world";

const char *p = str.data();

printf(p);

//==>

// hello world

.c_str()

string str = "hello world";

const char *p = str.c_str();

printf(p);

//==>

// hello world

.copy()

string str = "hello world";

char p[40];

str.copy(p, 5, 0);//這裡5,代表複製幾個字元,0代表複製的位置

*(p + 5) = '\0';//要手動加上結束符

printf(p);

//==>

// hello

C 字串處理

private static regex regnumber new regex 0 9 private static regex regnumbersign new regex 0 9 private static regex regdecimal new regex 0 9 0 9 privat...

C 字串處理

string字串是char的集合,而char是unicode的 所以char可以轉化為int。字串在引數傳遞時為引用傳遞 可以使用空字串 一 字串型別轉換 1.轉為char 可以用索引器來得到字串中指定的字元,如 string mystring hello char mychars mychars ...

C 字串處理

void memccpy void dest,const void src,int c,size t n 從src所指向的物件複製n個字元到dest所指向的物件中。如果複製過程中遇到了字元c則停止複製,返回指標指向dest中字元c的下乙個位置 否則返回null。void memcpy void de...