c 如何將string 轉換為char

2021-09-02 07:15:44 字數 3015 閱讀 8010

1樓:匿名使用者

char* p=new char[a.size()];

strcpy(p,a.data());

delete p;

不能通過a.data()和a.c_str()返回的指標修改string的內容,但像上面拷貝一份內容就可以

2樓:好程式設計師

你可以將char型別變數宣告為一個陣列,如b:array[0..100] of char,這相干b中就可以儲存多個字元了,其轉換如下例:

var a:string; b:array[0..

100] of char;char 是字元型別,string 是字串型別,也就是說,char型別的值只有一個字元,而string型別的值卻可以有多個字元(其容量好象為2g)。將char轉換為string時,直接應用a:=b即可(a為string型別,b為char型別),但結**可想而知,string型別變數a的值只是一個字元。

begin …… a:=b; //將char陣列轉換為string strpcopy(b,a); //將string轉換為char ……end;也就是說,將string型別的變數賦值給char型別的變數時,不克不及直接賦值,必須用strpcopy函式,而將char型別的變數賦值給string型別的變數時可以直接賦值。

3樓:匿名使用者

1.直接在構造string時建立。

char data = ;

string str = new string(data);

2.string有方法可以直接轉換。

string.valueof(char chr)就可以。

如: char cha = ;

string n = string.valueof(cha);

public class test}

4樓:匿名使用者

1、const char *p = a.data();

2、const char *p = a.c_str();

3、char *p = const_cast(a.c_str());

5樓:篤俠

a.c_str()就是char*型別了。

6樓:好名字可以讓你的朋友更容易記住你呦

好像沒有轉換成char* 啊,我試了一下 不給力啊

c++中string 如何轉char

7樓:匿名使用者

char arcstr[80];string s;

strcpy(arcstr, s.str_c());

8樓:匿名使用者

string s;//...cout << s.str_c();

c++怎麼把string 轉換為char型陣列

9樓:冰凍了你呢

將string型別轉換為字元陣列char

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);

字元陣列轉化成string型別

char ch  = "abcdefg";

string str(ch);//也可string str = ch;

或者char ch  = "abcdefg";

string str;

str = ch;//在原有基礎上新增可以用str += ch;

c_str函式的返回值是const char*的,不能直接賦值給char*,

所以就需要我們進行相應的操作轉化,下面就是這一轉化過程。

c++語言提供了兩種字串實現,其中較原始的一種只是字串的c語言實現。

與c語言的其他部分一樣,它在c+的所有實現中可用,

我們將這種實現提供的字串物件,歸為c-串,每個c-串char*型別的。

標準標頭檔案包含操作c-串的函式庫。

這些庫函式表達了我們希望使用的幾乎每種字串操作。

當呼叫庫函式,客戶程式提供的是string型別引數,

而庫函式內部實現用的是c-串,因此需要將string物件,

轉化為char*物件,而c_str()提供了這樣一種方法,

它返回一個客戶程式可讀不可改的指向字元陣列的指標。

例:#include

#include

using std::string;void main()

string add_to="hello!";

//std::cout

const char*cfirst = add_to.c_str();

const char*csecond = add_on.c_str();

char*copy = new char[strlen(cfirst) + strlen(csecond) + 1];

strcpy( copy, cfirst);

strcat( copy, csecond);

add_to = copy;

delete copy;

10樓:風若遠去何人留

#include

#include

#include

using namespace std;

int main()

11樓:戴奇

#include

using namespace std;

int main()

{string s="sdjsd";

char a[100];

for(int i=0;i

執行結果:

C如何改變漢字編碼,C 如何將byte 轉換為漢字

c 中編碼的方式可以使用system.text中的類來轉換.常用的有asciiencoding,unicodeencoding,utf8encoding這幾個方式具體可以參加裡面的詳細說明.至於要那種方式才恩能夠正常顯示,你需要試試才知道.常用的就這麼幾種編碼方式.c 如何將byte 轉換為漢字 使...

c中如何將ascii碼強制轉換為int

char c int a 如果a int c a的值為字元的ascii碼,如果a c 0 a的值就是字元所代表的阿拉伯數字 c 輸入一個char字元,將字元強制型別轉換為int型,為什麼輸出的會是它的ascii碼 1.你說的是ascii碼吧2.輸入字元轉化為ascii是什麼意思?ascii碼本身就是...

如何將NTFS轉換為FAT

1 沒有辦法。除非你移走所有檔案。然後重新格式化。用gost就可以。解釋 fat32 ntfs是兩種硬碟儲存方式。理論上ntfs要高階點。尤其是建立 域 這些實際應用上。兩者不互相通的。2 d盤裡面有頁面檔案或備份檔案或臨時檔案。就可以看到了。用轉換工具吧,網上有下的。然後你d盤少了空間可能是系統備...