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 中編碼的方式可以使用system.text中的類來轉換.常用的有asciiencoding,unicodeencoding,utf8encoding這幾個方式具體可以參加裡面的詳細說明.至於要那種方式才恩能夠正常顯示,你需要試試才知道.常用的就這麼幾種編碼方式.c 如何將byte 轉換為漢字 使... char c int a 如果a int c a的值為字元的ascii碼,如果a c 0 a的值就是字元所代表的阿拉伯數字 c 輸入一個char字元,將字元強制型別轉換為int型,為什麼輸出的會是它的ascii碼 1.你說的是ascii碼吧2.輸入字元轉化為ascii是什麼意思?ascii碼本身就是... 1 沒有辦法。除非你移走所有檔案。然後重新格式化。用gost就可以。解釋 fat32 ntfs是兩種硬碟儲存方式。理論上ntfs要高階點。尤其是建立 域 這些實際應用上。兩者不互相通的。2 d盤裡面有頁面檔案或備份檔案或臨時檔案。就可以看到了。用轉換工具吧,網上有下的。然後你d盤少了空間可能是系統備...C如何改變漢字編碼,C 如何將byte 轉換為漢字
c中如何將ascii碼強制轉換為int
如何將NTFS轉換為FAT