C和C++字符操作细则
C语言字符操作
char ch;
char ch = getchar(); //以“回车”为确认输入,在缓冲区中包含“输入的字符”和“回车”。
putchar(ch); //将缓冲区中的字符打印。
scanf(“%c”,&ch); //以“回车”为确认输入,在缓冲区中包含“输入的字符”和“回车”。
printf(“%c”,ch); //将缓冲区中的字符打印。
**注:**getchar()、putchar()的效率优于scanf()、printf(),但效果一样。
👆缓冲区中多出的"回车"可以用getchar()消除。
C++字符操作
char ch;
cin >> ch; //从键盘缓冲区中取字符时会过滤“空格”“tab”“回车”。
cout << ch; //将缓冲区字符打印。
C语言字符串操作
char s[maxsize];
gets(s); //缓冲区不接收“回车”,并在结尾补充'\0'。
scanf(“%s”,s); //每个串以“空格”“tab”“回车”为结尾。
C++字符串操作
char s[maxsize];
cin>>s; //以“空格”“tab”“回车”为结尾。
string s;
getline(cin,s); //缓冲区不接收“回车”。
**注:**gets(),scanf(),cin都会在串尾补上’\0’作为字符串结束标记,而getline()有自己的结束标记。
puts(s),printf(“%s”,s)或cout<<s可以输出s串,这三个函数都是输出从第一个字符到’\0’之前的所有字符。
👉puts()会自动换行。
👉s若为string类型,也可以用cout<<s输出s串。