在c 中怎樣使用string型別

時間 2022-02-05 11:25:03

1樓:康農繆迎曼

//第一個肯定不行,string是需要usingnamespace

std;

改這樣就可以了.

#include

#include

void

sayhello(std::string);

void

main()

void

sayhello(std::string

name)

{std::cout<<"good

morning!

"<不要+.h,你現在寫的是c++,不是c語言.

2樓:同學叫我神

你確定你用的vc6.0

怎麼6.0還能支援名稱空間的嗎?先進的咯

不過現在應該都不用6.0 了吧,強力推薦2005,2008就湊活你這問題也太奇怪了,既然都支援名稱空間了,怎麼標頭檔案還用.h 的呢這應該也不管string的事,而是iostream的事了cout在名稱空間std裡,用使用就要引用真奇怪你的編譯器,你應該要看一下c++標準,並多安裝一個vs2005這樣對一些比較現代的著作也能試驗,像這個6.

0都98年的了那時c++標準還沒釋出呢

3樓:

問題出在名稱空間上。

你可以這樣記憶,標頭檔案名帶.c的是c語言的標頭檔案不帶.c的是c++的標頭檔案。 你儘量用不帶.c的標頭檔案然後自己指明名稱空間

也就是usingnamespace std /*標重名稱空間*/

有問題可以繼續討論

補充一點 不是光string會出問題 你用其他的也出問題。記住我給你介紹的方法。絕對標準

4樓:匿名使用者

我開始也納悶。。。

只要在main函式上面加上這些就ok了:

#include

#include

using namespace std;

5樓:匿名使用者

using namespace std;

引入名稱空間。

如何在c#中使用c++的string型別

6樓:來自郡王府帥帥的迎春花

先搞清楚c++中的string用什麼文字編碼的? 比如ansi, unicode, utf-8等. 然後傳過來的時候作為位元組陣列傳, 也就是byte.

在c#裡面採用memorystream接收該byte陣列, 再用根據文字編碼, 使用streamreader將memorystream的內容讀出即可.

7樓:匿名使用者

c++裡面的string相當於c#裡面的stringbuilder,本質上是個char。string通過函式c_str可以轉換為 char型別。

語法:const char *c_str();

c_str()函式返回一個指向正規c字串的指標, 內容與本string串相同.

這是為了與c語言相容,在c語言中沒有string型別,故必須通過string類物件的成員函式c_str()把string 物件轉換成c中的字串樣式。

8樓:匿名使用者

這個主要還是編碼的問題。

不是 string型別不一樣,而是,沒有選擇好string的編碼

c++中string是類型別嗎

9樓:育知同創教育

比如std::string s1="hello world";

std::string s2="hello boy";

const char *cc1="hello girl";

const char *cc2="hello dog";

if (s1==cc1) //這是可以的if (s1==s2) //這是可以的

if (cc1==cc2) //這是錯誤的if(strcmp(cc1==cc2)) //這是可以的

10樓:璐人釔

string就是一個類,在std名稱空間中

11樓:惡疾臭魚

class才是類,string相當於c語言的char型別

c++中結構體中如何使用string類

12樓:匿名使用者

c++中結構體中使用string類與在其他地方使用string類用法相同。

使用string類需要注意如下幾點:

1、使用該類需要加標頭檔案#include ,注意不同於#include

2、該類是定義在名稱空間std中的,所以使用之前需要確保已using namespace std;否則需要以std::string的形式來引用。

3、string類不等價於char 陣列,需要區別對待。

13樓:匿名使用者

把主函式裡面的using namespace std;提到外面

而且你是用的string 不是char 陣列,所以就不用cin.get()來消去尾部字元了

大致是這樣吧,除錯一下,會很快知道錯在**的

14樓:匿名使用者

把using namespace std放到結構體struct car之前就行了

15樓:匿名使用者

加上using namespace std;

在標頭檔案包含完之後

或者用std::string 來宣告

c++string的用法問題,不知道為什麼用不了string型別

16樓:匿名使用者

因為 string 是 std名稱空間下的,就和cout 一樣..

所以 修改的方法有兩個..

1 加 名稱空間 限定

std::string name;

2 使用 using

using std::string;

17樓:匿名使用者

using std::cin;

using std::cout;

using std::endl;

using std::setw;

這裡都寫了四個using 你就再加個

using std::string;

或者直接換成

using namespace std;

18樓:匿名使用者

string在c++中並不是一個基本型別,而是一個完整的字串類。要使用需要include其標頭檔案,並且宣告使用空間如下:

#include

using std::string;

using std::wstring;

或using namespace std;

注意是,不是,帶.h的是c語言中的標頭檔案,標準c中處理字串都是char*的,而不是一個專門的基礎型別。這個中包含了日常所需的處理字串的一系列函式,但是引數都是char*型別的。

如果你是從c直接轉到c++的,最好去看一下c++標準庫以及物件導向的思維與實踐,那樣更適合平滑的過渡到c++。

c++中用string型別定義的指標是怎麼操作的,請說詳細點!

19樓:

跟其他型別的指標的操作沒有什麼區別,無非也是定義、初始化、賦值、解引用等。

20樓:逝水流

可以把string型別理解成一個vector

如何在c中使用c的string型別

來自郡王府帥帥的迎春花 先搞清楚c 中的string用什麼文字編碼的?比如ansi,unicode,utf 8等.然後傳過來的時候作為位元組陣列傳,也就是byte.在c 裡面採用memorystream接收該byte陣列,再用根據文字編碼,使用streamreader將memorystream的內容...

c中string型別和char型別的區別

char型別只能容納一個文字,在只想儲存並處理一個文字的時候的選擇。string是可以容納多個文字,當然一個也可以。關聯 對string進行處理的時候,有的時候,需要把string轉化成char 可以用這樣的方法 string str abcd char chr str 2 反之,由char轉化為s...

c中if條件裡連線string型別的字元是什麼

if txtsearchfrom.text chufadi txtsearchto.text mudidi 這樣就對了 注意比較是用雙等號 賦值是用等號 要和vb語法區別開,在vb中等號出現在條件語句中則為比較,其他地方為賦值,不要混淆。 那兩個字串是chufadi和mudidi 答案補充 等於號要...