第一次学C++的字符数组和字符串, 对输入和输出很困惑, 写一写两者的区别
输入比较复杂
无法读入空格、回车、换行的读入
char a[];
1、cin >> a; –> 最基本的字符串输入方式
2、scanf(“%s”, a); –> 使用scanf来输入,切记不要加&, 因为数组名本身就是一个指针
可以读入一整行的读入方式
string s
1、getline(cin, s); –> 针对字符串的cin的类似用法
2、cin.getline(a, 100); –> 针对字符数组的cin的类似用法
3、fgets(a, 100, stdin); –> gets函数因为不安全已经被淘汰, 最新版的用fgets, 其中stdin就是将终端当作文件来读入
对于输出来说, 比较简单, 字符数组和字符串都是一样的 若是想从第n个字符开始输出, 就输出a+1
1、cout << a << endl;
2、printf(“%s\n”, a);
3、puts(a), 注意puts要包含一个换行符