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流的行為。 希望能幫到您。 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的字串實質是char型陣列,陣列沒有引用,c也沒有引用型別,所以不能引用傳遞。c 相容c的char型陣列,c 雖有引用型別,但陣列沒有引用的規則仍然有效,所以也不能用引用傳遞char型陣列。c 的字串是類string的物件,類物件是允許引用的,所以c 的字串物件是可以引用傳遞的,以下 可以佐證 i... char ch split 只能用string result split ch split 然後取合適的位置result i 的值了。另外順便問一下,你是要獲得querystring的引數值麼?不用這麼麻煩的。username 就可以了。到msdn上檢視,內容很多的。1 普通分割字串方式 strin...
C語言關於字串問題
c中字串引用的問題,C 中字串引用的問題
C 字串分割,C 按組分割字串?