c關於字串輸出問題,C 關於字串輸出問題

時間 2021-12-22 19:53:51

1樓:匿名使用者

你好 這樣不行的 雖然說c 可以相容c語言 但是 string 是c 特有的 不可以把c 的字串以c的形式輸出 還有你要想用scanf printf標頭檔案也不對啊

2樓:滄海雄風

#include

#include

using namespace std;

int main()

string s;

cin>>s;//c++相容c,但c不相容c++,string是c++的,只能用cin讀入的

printf("%s\n",s);

return 0;

當然 你要用cin  就得改變標頭檔案

3樓:匿名使用者

不可以。因為string是乙個類。你需要使用c風格的字串來建立該型別。c風格的字串就是以'\0'結尾的。

#include

#include

using namespace std;

int main(void)

;gets(p);

string str(p);

printf("%s\n", p.c_str());

return 1;}

4樓:曉風殘月看淚流

不可以的 %s是char*型別的,但是這裡是string型的 用cout和cin不就行了 還方便,不用指出輸出型別

5樓:

scanf 要求的是字元指標。

string也可以可以通過c_str()函式返回內部的字元指標來使用了,只是不推薦那麼用。

像下面這樣寫應該也可以工作,不過就 是沒那麼好看了string s;

s.resize(10);

scanf("%s", (char *) s.c_str());

printf("%s\n",s.c_str());

s.resize(strlen(s.c_str());

std::cout << s <

6樓:振志中華

從您的問題裡,我看到了你問的是有關c++的,就知道你是懂string類的。

不過我要強調的是:在c裡面string的標頭檔案,裡面包含strcpy函式,並沒有string結構體。

要知道c++裡面的string類是個泛型模版類(在某些c++編譯器裡預設為基本類,可以不加標頭檔案)。所以它的型別是不確定的。

強烈建議你不要c++和c混用,輸入輸出,最好用cin、cout。用法如下:

string s;

cin>>s;

cout<

這樣做是避免發生哪些未被進化的i/o流的行為。

希望能幫到您。

C語言關於字串問題

include include void main 在s3字串中形成最後輸出結果 先將s1串中的s1 0 到s1 max 寫入s3串中 再將s2串中的所有字元繼續寫入s3串中 最後將s1串中s1 max 之後的內容繼續寫入到s3串中。for i 0 i t1 t2 i for i 0 i inclu...

c中字串引用的問題,C 中字串引用的問題

c的字串實質是char型陣列,陣列沒有引用,c也沒有引用型別,所以不能引用傳遞。c 相容c的char型陣列,c 雖有引用型別,但陣列沒有引用的規則仍然有效,所以也不能用引用傳遞char型陣列。c 的字串是類string的物件,類物件是允許引用的,所以c 的字串物件是可以引用傳遞的,以下 可以佐證 i...

C 字串分割,C 按組分割字串?

char ch split 只能用string result split ch split 然後取合適的位置result i 的值了。另外順便問一下,你是要獲得querystring的引數值麼?不用這麼麻煩的。username 就可以了。到msdn上檢視,內容很多的。1 普通分割字串方式 strin...