C C 中的字元和字串輸入

2021-09-20 07:20:49 字數 1076 閱讀 2176

毫無疑問,大家在c中都採用scanf來輸入,在c++中採用cin輸入,那麼這兩個到底有什麼不同之處呢,以及如何在適當的時候選擇合適的方法讀入字元和字串呢。

鑑於在vs中一些函式如scanf無法使用,改為更安全的scanf_s,所以本文的**只在dev c++ 中執行。

首先我們來講一下字元和字串的基本知識。

在c語言中單個字元用char來定義,如果要定義字串的話就用char a來定義乙個字元陣列,這種表示方法被稱為c風格的字串。它的特點是在字元陣列的最後面有乙個字串結束符'\0'來表示字串的結束。

在c++中,字元和c語言中一樣,字串的話大多用string s來 定義,相比於c風格的字串有很多優點,而且更加安全,方便操作。

cin讀入資料遇到空格,換行之類的符號都會停止讀入。所以讀入的字串中間不能有空格。

使用cin讀字元較為簡單,直接讀入即可。

舉個栗子:

#include using namespace std;

int main()

scanf是c語言中的標準讀入函式,在讀取一些比較有規律的字串時有很好的效果。

(1) 讀入字元

#include using namespace std;

int main()

(2) 讀入字串

用scanf讀入字串要定義乙個字元陣列,而不是string型別的字串。例子如下:

#include #include using namespace std;

int main()

1、getline函式

如果要讀入一行句子(單詞之間有空格),應該採用getline()函式來讀入。

舉個栗子:

#include using namespace std;

int main()

輸入:this is a sentence.   輸出:

讀入結果:

this is a sentence.

C C 中的字元和字串

目錄結構 contents structure 定義和初始化string string物件上的操作 處理string物件中的字元 c風格字串 標準庫型別string表示可變長的字串行,使用string型別必須首先包含string標頭檔案,作為標準庫的一部分string定義在標準庫std中。inclu...

C C 字元或字串的輸入

c中 1 scanf c a 輸入乙個字元,a代表的是乙個字元 2 scanf s a 輸入乙個字串,a代表的是乙個字元陣列的名字,不接受空格的 3 getchar 輸入乙個字元 4 gets a 輸入乙個字串,a代表的是字串的名字,可以接搜空格的!c 中 1 cin 輸入數字 以空格或回車結束 輸...

c c 字元 字串輸入輸出

1.scanf 1.1 輸入字元 char ch scanf c ch 注意字元前面的取位址符 1.2 輸入字串 char str 15 scanf s str char pstr scanf s pstr 1 scanf 在輸入字串時,不讀入空格和回車,在讀入空格或回車時,輸入結束 2 輸入字串長...