文字列の入出力要約(配列文字列)
3084 ワード
char str[maxn] //maxn
charタイプ配列宣言文字列は、そのサイズが与えられ、その後、サイズが固定される必要があります.
#include
scanf("%s",str);
#include
cin>>str;
②cin.get(str,Size)は、リターンまたは満読み(Size-1)文字の終了に遭遇するが、リターンは読み込まれず、リターンはバッファに残され、第Size文字も読み込まれない
#include
cin.get(str,maxn); // maxn-1 , '\0'
Sizeには'0'が含まれているので、Size-1文字のほかcinを読み出す.get(パラメータなし)の使用はgetchar()に等しい.
③cin.getline(str,Size,End Character)は、3番目のパラメータは通常省略されますが、省略するとデフォルトでは'0'がEnd Characterになります.
cin.getlineは、リターンが停止した後、リターンをキャッシュ領域に残すのではなく、リターンを「0」に読み込み、置き換えます.つまり、1行を完全に読み込みますが、文字列内にリターンはありません.終了文字も読み込まれますが、その後は'0'に置き換えられます.
④C言語のgets()とfgets()については、以下を参照してください.https://www.cnblogs.com/qingergege/p/5925811.html
#include
printf("%s",str);
#include
cout<<str;
Ps.個人的には、プログラム設計コンテストでは、単語を1つずつ読み込むのは当然cinとscanf()であり、1行を読み込む必要がある場合はcinであると考えている.getline()のほうがいいです.cin.getline()はこの行のリターンをバッファに残すことはありませんが、cin.getline()が終了文字を読み込み削除するので、3番目のパラメータ(終了文字)を追加しないほうがいいです.
参考資料:http://www.cnblogs.com/flatfoosie/archive/2010/12/22/1914055.html