C++ 如何使用c+在不使用readline的情况下以字符串形式显示多个单词+;?
我使用Visual C++ 6,现在创建了一个程序,它将打印字符串中输出的输出。 问题是当我输入带有空格的单词时,输出中只有第一个单词可见 例如:C++ 如何使用c+在不使用readline的情况下以字符串形式显示多个单词+;?,c++,C++,我使用Visual C++ 6,现在创建了一个程序,它将打印字符串中输出的输出。 问题是当我输入带有空格的单词时,输出中只有第一个单词可见 例如: Enter your address: new york new Press any key to continue 我想要这个: Enter your address: new york new york Press any key to continue 另外,我尝试使用getline,但当我输入单词时,它会首先打印空白,然后存储当前输出之前
Enter your address: new york
new
Press any key to continue
我想要这个:
Enter your address: new york
new york
Press any key to continue
另外,我尝试使用getline
,但当我输入单词时,它会首先打印空白,然后存储当前输出之前的最后一个输出
这是我的密码:
#include <iostream>
#include <string>
using namespace std;
void main()
{
string address1;
cout<<"Enter your address:";
cin>> address1;
// getline(cin, address1); code when using getline
cout<<address1<<"\n";
}
#包括
#包括
使用名称空间std;
void main()
{
字符串地址1;
cout地址1;
//getline(cin,address1);使用getline时的代码
不能使用std::getline(std::cin,address1);
而不是cin。因为cin
使用空格作为分隔符。使用std::getline(std::cin,address1);
,而不是cin。因为cin
以空格作为分隔符。这一个呢?一种getline概念,假定换行符是“\n”,根据您的平台、unix或windows等需要更改
int main()
{
string addrpart, address1;
cout<<"Enter your address:";
cin>> addrpart;
while (addrpart != "x") {
address1 += addrpart + " ";
addrpart = "x";
cin>> addrpart;
}
cout<<address1<<"\n";
}
intmain()
{
字符串addrpart,地址1;
无法添加部分;
while(addrpart!=“x”){
address1+=addrpart+“”;
addrpart=“x”;
cin>>添加部分;
}
cout这一个呢?一种getline概念,假定换行符是“\n”,根据您的平台、unix或windows等进行更改
int main()
{
string addrpart, address1;
cout<<"Enter your address:";
cin>> addrpart;
while (addrpart != "x") {
address1 += addrpart + " ";
addrpart = "x";
cin>> addrpart;
}
cout<<address1<<"\n";
}
intmain()
{
字符串addrpart,地址1;
无法添加部分;
while(addrpart!=“x”){
address1+=addrpart+“”;
addrpart=“x”;
cin>>添加部分;
}
给你
#include <iostream>
#include <string>
using namespace std;
int main( int argc, char** argv )
{
string userinput;
cout << "Enter your address:";
getline ( cin, userinput );
cout << userinput;
return 0;
}
$ g++ a.cpp -o app
$ ./app
Enter your address:new york
new york
#包括
#包括
使用名称空间std;
int main(int argc,字符**argv)
{
字符串用户输入;
给你
#include <iostream>
#include <string>
using namespace std;
int main( int argc, char** argv )
{
string userinput;
cout << "Enter your address:";
getline ( cin, userinput );
cout << userinput;
return 0;
}
$ g++ a.cpp -o app
$ ./app
Enter your address:new york
new york
#包括
#包括
使用名称空间std;
int main(int argc,字符**argv)
{
字符串用户输入;
虽然你做得没错,但主要的问题是你使用的是cin
,而你应该避免使用它,使用getline(cin,address1)
,因为cin
只接受一个单词,不会接受你在空格后键入的任何内容。另一方面getline(cin,address1)
可以将完整的句子与空格连在一起
阅读注释并使用此代码
#include <iostream>
#include <string>
using namespace std;
int main()//using int main()
{
string address1;
cout<<"Enter your address:";
//cin>> address1; Don't use it
getline(cin, address1);//use this
cout<<address1<<"\n";
return 0;//returning an integer 0
}
#包括
#包括
使用名称空间std;
int main()//使用int main()
{
字符串地址1;
无法寻址1;不要使用它
getline(cin,address1);//使用这个
虽然你做得没错,但主要的问题是你使用的是cin
,而你应该避免使用它,使用getline(cin,address1)
,因为cin
只接受一个单词,不会接受你在空格后键入的任何内容。另一方面getline(cin,address1)
可以将完整的句子与空格连在一起
阅读注释并使用此代码
#include <iostream>
#include <string>
using namespace std;
int main()//using int main()
{
string address1;
cout<<"Enter your address:";
//cin>> address1; Don't use it
getline(cin, address1);//use this
cout<<address1<<"\n";
return 0;//returning an integer 0
}
#包括
#包括
使用名称空间std;
int main()//使用int main()
{
字符串地址1;
无法寻址1;不要使用它
getline(cin,address1);//使用这个
CUT<代码> GETLINE < /C>是正确的方法。如果使用它有问题,请显示代码。输入操作符<代码> > /Cuff>只读取空间分隔的“单词”。参见,我将GETLINE代码放在我的问题中,最好是在C++编程中编写int()(而不是空格)()。“它将首先打印空白,然后存储当前输出之前的最后一个输出。”--我不知道这是什么意思。事实上,我很确定这是胡说八道。请举例说明。getline
是正确的方法。如果您在使用它时遇到问题,请显示相应的代码。输入运算符
只读取空格分隔符”我在GISTING代码中写了GETLINE代码,它是C++编程中最好的写int()的方法,而不是空的主程序()。它将首先打印空白空间,然后存储当前输出之前的最后一个输出。--我不知道这是什么意思。事实上,我很确定这是胡说八道。请举例说明。是的,它显示了全部文字,但问题是当我进入“纽约”时,它将首先在下面打印额外的空间,然后再次输入以查看结果。在显示结果之前,它始终需要双击输入。是的,它会显示整个单词,但问题是,当我输入“new york”时,它将首先在下面打印额外的空间,然后再次输入以查看结果。在显示结果之前,它始终需要双击输入。是的,它会显示整个单词,但问题是,当我输入“new york”时,它将首先在下面打印额外的空间,然后再次输入以查看结果。在显示结果之前,它始终需要双击输入。是的,它会显示整个单词,但问题是,当我输入“new york”时,它将首先在下面打印额外的空间,然后再次输入以查看结果。在显示结果之前,它始终需要双击输入。是的,它会显示整个单词,但问题是,当我输入“new york”时,它将首先打印下面的额外空间,然后再次按enter键以查看结果。在显示结果之前,它始终需要双击enter键。将我的代码复制到编译器中并运行它。键入“new york”后,应按enter键一次并按“new york”将在下一行中打印。如果问题仍然存在,请在其他编译器上尝试。是的,它会显示整个单词,但问题是当我输入“new york”时,它将首先打印下面的额外空间,然后再次按enter键以查看结果。在显示结果之前,它始终需要双击enter键。将我的代码复制到编译器中并运行它。键入“new york”后,应按enter键一次并按“new york”将在下一行中打印。如果问题仍然存在,请在其他编译器上尝试。是的,它会显示整个单词,但问题是当我输入“new york”时,它将首先在下面打印额外的空间,然后再次输入以查看结果。在显示结果之前,它始终需要双击输入。是的,它会显示整个单词,但问题是当