C和C++在字符串类型上有差异,C虽然有<string.h>头文件,但并无string类型,只能通过char数组来表示字符串。
在C++中,字符串的输入方式有两种(需要用g++编译):
1.读取一个词:直接跟在cin后面,即cin>>string,输入的内容是单词,即从第一个非空格处进入,到空格停止。如果需要连续输入个数不确定个单词,可以用while(cin>>string),直到输入结束。
2.读取一行:getline(cin,line),可以输入一行,直到遇到换行符,使用while(getline(cin,line)),可以输入一篇文章。
3.如果要获取字符串的长度,应该用s.size(),读到的就是字符串里字符的个数,如hello的长度是5;
4.返回值,如果读取正确,返回1,读取失败,返回0;
#include
#include
using namespace std;
int main(){
string line;
cout<
<
在C中,字符串的输入方式有:
1. 读取一行,fgets(buf,MAXN,stdin),值得一提的是buf的声明必须是 char buf [maxn],不可以是 char *buf。
2.读取一个字符fgets(stdin),或者getchar(); gets()因越界问题已废止使用。
3.如果要获取字符串的长度,应该用strlen(s),如果用fgets读取一行字符串,字符串的个数要+1,因为fgets会把末尾的换行符读进来,如hello的长度是6;
4. fgets()返回值是字符串。
scanf()返回值有三种情况:
1.正整数,表示成功输入的个数;
2. 0,表示输入不匹配;
3 -1,EOF表示输入停止。