C++ 如何把空格保存到字符数组里?

#include<iostream>using namespace std;
int main(){ char str1[80],str2[80]; cout<<"Please input string1, end by enter key:\n"; cin>>str1; cout<<"Please input string2, end by enter key:\n"; cin>>str2; cout<<endl<<str1<<endl<<str2<<endl<<endl; system("pause"); return 0;}
求C++大神指点,F10单步调试没有出问题,但F5一按就变成这样了,如何把空格也一同保存到字符数组里面?
注:本题规定不能用string等其他库函数
最新回答
凝望流年

2024-05-03 01:38:54

从键盘读取带空格的

字符串
到字符数组中的方法有:

char str[100];

  1. gets( str ); //容易产生越界,所以被称为风险函数,建议不用

  2. fgets( str, sizeof(str), stdin ); //gets()函数的标准应用,可控制

    数据输入
    最大长度为sizeof(str):数组最大长度。

  3. getline(str, sizeof(str), '\n'); //C++提供的fgets()的类似功能函数

  4. 自定义函数,以实现以上函数功能。

摘星入眼

2024-05-03 00:42:08

用getline(cin,100,'\n');
cin是遇到空格就结束读取的
语楪ゝ淡蓝

2024-05-03 00:05:03

莫非在读入时得用getline??
cin遇空格就终止读取了