字串/字元陣列讀入(char/string)
阿新 • • 發佈:2020-07-19
前言
- 網上有很多相關部落格,或總或全,在做了這道題後,決定總結一下常用字串讀入
- 只有常用,請不要吹毛求疵
字串string
1.scanf printf:(不含空格)
string a;
a.resize(10); //需要預先分配空間
scanf("%s",&a[0]);
printf("%s\n",a.c_str());
- 輸入:
dddd
;輸出:dddd
- 輸入:
ddfded
;輸出:ddfded
//看上去空間沒開夠沒有問題,但還是不要這樣
推薦用char陣列讀入再賦值給string
2.getline讀入空格
string a; getline(cin,a); cout<<a<<endl;
- 輸入:
d ddd
;輸出:d ddd
3.getchar讀入單個字元
- 我們一般選擇用char讀入再賦值
字元陣列char
1.scanf/printf:(不含空格)
char a[10];
scanf("%s",&a);//&可加可不加
printf("%s",a);
- 輸入:
dfdfdf
;輸出:dfdfdf
char b;
scanf("%c",&b);
printf("%c",b);
- 輸入:
d
;輸出:d
- 輸入:
dfdfdf
;輸出:d
2.getline讀入空格
char a[10]; cin.getline(a,5);//讀入字元長度<1000 cout<<a<<endl;
- 輸入:
d ddd
;輸出:d dd
- 輸入:
d fdd
;輸出:d fd
//超過部分省略
3.getchar讀入單個字元
char a;
a=getchar();
cout<<a<<endl;
- 輸入:
dfd
;輸出:d