字符串与字符数组
字符数组 相当于 字符串+\0: s[]={‘a’,’b’,’c’} 等价与 s[]={‘a’,’b’,’c’,’\0’} 长度都是4,通常’\0’是省略的。
字符数组的输入 char s[]
- cin.getline(s,1000)
- fgets(s,1000,stdin)//1.2都是能直接输入一整行,包括了空格
- scanf(“%s”,s) //注意:不是&s
- 输出可以用cin,printf和puts: puts(s) 等价与 printf(“%s\n”,s) //注意:有换行符\n
字符串的输入输出 string s
输入:(1)getline(cin,s)//一整行 (2)cin >> s;
输出:(1)cout << s (2)printf(“%s”, s.c_str()) (3)puts(s.c_str())
区别scanf和cin关于是否省略空格、换行符的功能
https://www.cnblogs.com/NYNU-ACM/p/4237343.html
cin >> str; scanf(“%s”,s) // 输入字符串时,遇到空格或者回车就会停止
scanf(“%c”,&c) // 输入字符时,是不会省略空格或者回车
cin >> 一个字符 //省略空格
这里其实还有点乱,若有错请大佬指出
求字符串和字符数组的长度
string str 求取长度: len = str.length()或者 str.size()
char str[N] 求取长度:len = strlen(str)