字串型別的輸入輸出

2022-05-21 18:00:13 字數 608 閱讀 1168

首先定義乙個string s,char c[10];

在c++中,可以直接用cin>>s或者cin>>c輸入,用cout《而在c中,char型別可以用scanf("%s",c)輸入,string型別只能用其建構函式string str( "now is the time..." )賦值,如string s="abcd",輸出用printf("%s",s.c_str())或者printf("%s",c)輸出;

原因在於string是乙個物件,s返回的是當前物件的首位址,而string中c_str()成員方法返回當前字串的首字元位址,而在c++中,string過載了「<<」操作符,所以可以直接輸出字串;

在vs中,最新的微軟編譯器認為scanf的使用存在安全隱患,因為c/c++中的字串處理都是以\0為截止符的,如果搜尋不到\0,容易出現字串越界,所以vc擴充套件的安全標準庫中都新增了乙個引數用以指定字串引數的長度,用以避免這種安全隱患。 所以在vs中要用scanf_s()來輸入,陣列則要用scanf_s(「%s」,&name,n),name是陣列名,n就是該陣列的大小,可以用sizeof(name)來指定n的值。

下面貼出vs中的示例**:

int

main()

字串的輸入輸出

1.字串陣列 初始化 char s1 array 字元陣列 char s2 6 array 陣列長度 字串長度 1,因為字串末尾會自動添 0 printf s,c n s1,s2 2 2.字串指標 初始化 char sp pointer 字元指標 printf s,c,c n sp,sp,sp 2 ...

字元 字串的輸入輸出

字元與字串的輸入輸出 如果要使用現成的字串函式和方法,就一定要加上對應的標頭檔案,如果在c 當中呢,就是 include 如果是在c當中呢,就是 include 4.1字元,字串的輸入輸出 char c 字元的輸入輸出 scanf c c printf c c 接收單個字元 字串的輸入輸出 char...

字元 字串的輸入 輸出

提前宣告 c字串為char或char 型別,include 而c 字串為string型別。include 定義c字串時,有如下問題 char str hello world 必須初始化 char str 3 想要不初始化,必須指定長度 char str 沒有分配記憶體,且無法用字串常量初始化,否則報...