C字串內容賦值給C 的string類物件

2021-05-04 01:10:05 字數 4604 閱讀 4503

1樓:

char* chr = "hello,world.";

或char chr = "hello,world."

然後,string str( chr );就行了,或者string str = chr也行。

2樓:

樓主顯然沒有理解指標的作用啊,首先我先指出,樓主你宣告的是10個字元型別指標的變數,即宣告了10個指向字元型別的指標而非乙個可以容納10個字元的陣列,要知道單操作符的運算級別是最高的,所以你把指標的值賦給string型別的,顯然這是錯誤的,樓主可以這麼改:

1、char chr[10]="yes"; string = chr;

2、char *chr="yes"; string = chr;

或是用樓主的方法用assign函式給string型別的變數賦值。關鍵在於樓主沒有理解指標陣列和陣列指標的概念

3樓:隨心e談

我覺得用前面第乙個比較好,既然是乙個string類,那它就已經解決了儲存的問題,否則要這個類幹嘛?不如直接用陣列好了,

4樓:曾聽南

c++中如何將乙個string類物件裡的字串完整賦值給乙個字元型的陣列?

5樓:匿名使用者

string s="dsafjsakfas";

int ilen=s.length();//得到字串的長度char *s1=new char[ilen+1];

for(int i=0;i可以像字元陣列一樣直接訪問下標為i 的字元//知道這點你應該就知道怎樣做了.

}si[i]='\0';

大致就這樣,自己寫的,沒有複製貼上

6樓:匿名使用者

#include

#include

using namespace std;

void main()

c++怎麼給乙個string賦值

7樓:小丁創業

具體如下:

#include "stdafx.h"

#include

#include

#include"string" //操作字串必須包含的標頭檔案using namespace std;

void main()

8樓:

#include "stdafx.h"

#include

#include

#include"string" //操作字串必須包含的標頭檔案using namespace std;

void main()

擴充套件資料c++右值引用和移動賦值函式:

程式語言中賦值表示式左邊的值稱為左值,右邊的值稱為右值。左值對應記憶體的一段命名空間,可以用取址運算子「&」取出記憶體位址。

此時的記憶體單元有或顯式或隱式使用的位址值和實際值。右值則是顯式利用的是記憶體單元的實際值,其臨時存在於記憶體或暫存器中。使用「&&」運算子可以定義乙個右值引用,將乙個右值轉變為乙個左值,move()函式可以將乙個左值轉換為乙個右值。

左值引用,使用t&,只能繫結左值(其中t是乙個具體型別)。右值引用,使用t&&,只能繫結右值;常量左值,使用constt&,既可以繫結左值又可以繫結右值;已命名的右值引用,編譯器會認為是個左值。

9樓:四捨**入

string lsstr,lsstra; //定義

lsstr = 'aabbccdd'; //賦值

lsstra = lsstr; //同類賦值

10樓:

你是指這樣?:

char *str = "hello world!";

11樓:哎呀

一、c++中,string是乙個類(注意,不是型別)。它的賦值,直接將字串等於給它,或將同類的變數賦給它即可。比如:

string lsstr,lsstra; //定義

lsstr = 'aabbccdd'; //賦值

lsstra = lsstr; //同類賦值

1、不同編譯環境下的c++,對字串的處理稍有差別。

2、最原始的c語言中,沒有string,在c++裡才有了string這個類。

3、注意,string是乙個類,不是型別。類這個概念是c++才特有的,它的存在是為了模組化程式設計。類是乙個相對複雜的東西,它就象乙個單元,包含了自已內部的資料定義、函式等等。

二、值得注意的是,早期的c中,對字串的處理是用字元陣列來進行的,比如:

char s[30];

strcpy(s, "good news!"); /*給陣列賦字串*/ .

或是,讓編譯器在定義時,自動的處理(實際上還是做了上面的兩步):

char s[30] = "good news!";

三、對於字串的處理,c++中其實是乙個相對不好理解的東西,因為這涉及到了c/c++語言的指標,也就是說,無論是什麼方式,它的最根本的本質是用乙個指標指向了存放字串的位址。string這個「類」除了指標外,還擴充套件了常用的一些處理函式在裡面,比如字串擷取之類的。

四、還有一種比較容易混的:

char *str = "hello world!";

這說的是,定義乙個char指標str,它指向字串"hello world!"存放的位址的第乙個。

五、關於字串的處理,細說起來,還是有一些東西需要你自個去理解的,再說一次,主要還是涉及了指標,所以不太好理解。但是這些是學c/c++必需要理解的東西。指標、類、字串,可以說是c++裡的難點,多練多思考吧。

c++中怎麼把乙個字串賦給乙個變數

12樓:匿名使用者

對於string型的變來量,直接賦值即可,源如string str="abcde";使用string類需要使用標頭檔案#include

對於char陣列型的變數,在宣告時可以直接賦值,如char str = "abcde",

對於char陣列型的變數,在非宣告的時候賦值時,不能直接賦值,如char str[64];str = "abcde";是不允許的,需要借助strcpy函式進行賦值,需要使用標頭檔案#include 。使用方法:

char str[64];

strcpy(str, "abcde");//將abcde拷貝到str陣列中。

13樓:風琦凌波

問題一的解決:

這個問題通常有兩種解決方法,乙個是

字元陣列(現已不常用)另回一答個是string類,當然這個要在標頭檔案中加上#include

**如下:

#include

#include

using namespace std;]int main()

14樓:愛做夢的男孩

可以使用:

strcpy(str, "abc");strcpy(str,"abcde");

但是bai

有一點要注意du,str的空間zhi

大小要夠存放後面的字串

dao.

這樣就可以把回abc賦值給str了.

包含答標頭檔案:

#include

字串陣列可以如下定義:

char *str[3]=

如果對str[0]賦值,同樣可以用上面的函式strcpy(str[0], "sfdsfsd");

在c++中,可以使用c++標準庫中的string類,定義string str;

str = "abc";

str = "abcde"

這個要新增如下標頭檔案

#include

using namespace std;

15樓:匿名使用者

cin>>str//輸入陣列str

cin>>str[1]>>str[2]//輸入字串str[1]和str[2]

cout<

16樓:小豬乖乖

char* str[5];

使用指標就可以了

17樓:桐軍夷婉麗

for(i=1,i<=10,i++)

{cstring

string[20];

string[i].format("%d",i);

c++編輯詞條

c++這個詞在中國大陸的程式設計師圈子中通常被讀專做「c加加」,而西

屬方的程式設計師通常讀做「c

plus

plus」,「cpp」。

它是一種使用非常廣泛的計算機程式語言。c++是一種靜態資料型別檢查的、支援多重程式設計正規化的通用程式語言。它支援過程化程式設計、資料抽象、物件導向程式設計、泛型程式設計等多種程式設計風格。

最新正式標準c++於2023年8月18日公布。其程式設計領域眾廣,常用於系統開發,引擎開發等應用領域,是至今為止最受廣大程式設計師受用的最強大程式語言之一,支援類:類、封裝、過載等特性!

C符串賦值問題,求高手解答,C 字串賦值問題,求高手解答

型別 變數名 帶雙引號的常量 string a 我是中國人 變數名可以任意起名。不過不能以 數字 漢字 和 符號開頭 除了下畫線 等號後面可以是帶雙引號的任意字段 string abc console.readline 為從控制台窗體輸入值複製給abc 呵呵,這問題搞笑啦!string str va...

C 字串長度與位元組的問題,C 字串有效長度的問題

1 strlen函式是返回字元長度 以空字元為結束符 所以是5 2 sizeof str 返回是指定變數占用空間大小str是指標變數,指標大小為4,所以返回4你可以把str變成陣列 char str 12345 此時str是陣列,所以sizeof str 返回的是6 strlen 函式返回不包含結束...

c擷取字串

string str1 四川省宜賓市翠屏區 string result result str1.substring 0,str1.indexof 省 console.write result indexof是獲取指定字元在字串中的位置 索引值 substring startindex int,len...