Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用c+在不使用readline的情况下以字符串形式显示多个单词+;?_C++ - Fatal编程技术网

C++ 如何使用c+在不使用readline的情况下以字符串形式显示多个单词+;?

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,但当我输入单词时,它会首先打印空白,然后存储当前输出之前

我使用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
,但当我输入单词时,它会首先打印空白,然后存储当前输出之前的最后一个输出

这是我的密码:

#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”时,它将首先在下面打印额外的空间,然后再次输入以查看结果。在显示结果之前,它始终需要双击输入。是的,它会显示整个单词,但问题是当