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

yul*_*sen 2 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; p < lol; p++)
    {

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

    system("pause");
}
Run Code Online (Sandbox Code Playgroud)

如果我们输入这些单词

分支中有“我严格地记住”。但首领却有火腿寡妇的曲折。天才或左右虚荣心不能。“”大做过goi"'关于水推迟的“ ng” 尝试。她希望母亲做“沉默”儿子。不信任津贴做知识渴望保证的补充。“ Joy deal pain';`392view“花费了很多时间。现在领导的年轻同性恋将声明。”

我的输出成为

''my up strictly记住。''

但这应该是

''my up strictly记住。歌曲但首领有火腿寡妇起义。天才或左右虚荣心不能。“”“```大也试过 goi''ng'' about water defer by.无声'儿子的人,她希望母亲。不信任津贴做知识的渴望保证的补充。我们''“减少thoroughly if. ''Joy deal pain ';`392view了她的时间。现在领导的年轻同性恋将声明。

aro*_*gka 5

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

#include<string.h>

这是为了strlen功能。