C++ c++;读取输入,直到字符数组的行尾

C++ c++;读取输入,直到字符数组的行尾,c++,C++,我试图使我的代码工作,实际上它工作,但不是很好。“回车”出现后,代码停止。我想让我的代码一直工作到用户输入的文件结束 #include<iostream> using namespace std; int main(){ char input[2000]; cin.getline(input, sizeof(input)); int lol = strlen(input); int boing = 0; for (int p = 0;

我试图使我的代码工作,实际上它工作,但不是很好。“回车”出现后,代码停止。我想让我的代码一直工作到用户输入的文件结束

 #include<iostream>
using namespace std;

int main(){
    char input[2000];


    cin.getline(input, sizeof(input));

    int lol = strlen(input);
    int boing = 0;
    for (int p = 0; p < lol; p++)
    {

        if (input[p] == '\"')
        {
            boing++;
            if (boing % 2 == 1)
            {
                cout << '\`'<<'\`';
            }
            if (boing % 2 == 0)
            {
                cout << '\''<<'\'';
            }
        }
        else
            cout << input[p];
    }

    system("pause");
}
#包括
使用名称空间std;
int main(){
字符输入[2000];
cin.getline(输入,sizeof(输入));
int lol=strlen(输入);
int-boing=0;
对于(int p=0;pcout你需要将你的
getline
包装成某种形式的循环。现在你得到一行,然后操作
input
,然后退出。现在你从用户那里把它拉进来,所以你需要寻找终止符。

getline
将接受输入,直到按下“回车”按钮。 你的代码在我的机器上运行良好。 只需添加
string.h
头文件,如下所示:

#包括


这是用于strlen函数的。

对于此代码,您需要再添加两个头文件

#include <string.h>
#include <stdlib.h>
#include<iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;

int main()
{
    char input[2000];


    cin.getline(input, sizeof(input));

    int lol = strlen(input);
    int boing = 0;
    for (int p = 0; p < lol; p++)
    {

        if (input[p] == '\"')
       {
           boing++;
           if (boing % 2 == 1)
           {
               cout << '\`'<<'\`';
           }
           if (boing % 2 == 0)
           {
              cout << '\''<<'\'';
           }
      }
      else
        cout << input[p];
   }

   cout<<endl;   //this line is for making ur code look nice

   system("pause");
}
#include<iostream>
#include <string>
#include <stdlib.h>
using namespace std;

int main()
{

   string input;

   getline(cin,input);

   int lol = input.size();

   int boing = 0;
   for (int p = 0; p < lol; p++)
   {

      if (input[p] == '\"')
      {
          boing++;
          if (boing % 2 == 1)
          {
             cout << '\`'<<'\`';
          }
          if (boing % 2 == 0)
          {
              cout << '\''<<'\'';
          }
      }
      else
          cout << input[p];
   }

   cout<<endl;
   system("pause");

   return 0;

}
#包括
#包括
您的完整代码将是

#include <string.h>
#include <stdlib.h>
#include<iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;

int main()
{
    char input[2000];


    cin.getline(input, sizeof(input));

    int lol = strlen(input);
    int boing = 0;
    for (int p = 0; p < lol; p++)
    {

        if (input[p] == '\"')
       {
           boing++;
           if (boing % 2 == 1)
           {
               cout << '\`'<<'\`';
           }
           if (boing % 2 == 0)
           {
              cout << '\''<<'\'';
           }
      }
      else
        cout << input[p];
   }

   cout<<endl;   //this line is for making ur code look nice

   system("pause");
}
#include<iostream>
#include <string>
#include <stdlib.h>
using namespace std;

int main()
{

   string input;

   getline(cin,input);

   int lol = input.size();

   int boing = 0;
   for (int p = 0; p < lol; p++)
   {

      if (input[p] == '\"')
      {
          boing++;
          if (boing % 2 == 1)
          {
             cout << '\`'<<'\`';
          }
          if (boing % 2 == 0)
          {
              cout << '\''<<'\'';
          }
      }
      else
          cout << input[p];
   }

   cout<<endl;
   system("pause");

   return 0;

}
#包括
#包括
#包括
使用名称空间std;
int main()
{
字符输入[2000];
cin.getline(输入,sizeof(输入));
int lol=strlen(输入);
int-boing=0;
对于(int p=0;p难道你给变量起个“有趣”的名字不是在帮你自己一个忙吗。