直接写成字符串VS。使用“ getline”对其进行写入

时间:2018-12-20 12:55:19

标签: c++ string getline function-call

我目前正在为包含打开端口的项目编写代码。我正在将端口的名称写入字符串-变量,并将该字符串用作函数的参数。

我想比较以下两种方法:

  1. 我正在初始化字符串时直接写入字符串。所以我正在做的是:

    std::string comPort ("\\\\.\\COM11");
    serialCommunication serialTest(comPort);
    serialTest.serialInit();
    

    这种方法效果很好,并且我没有收到任何错误。

  2. 我希望用户输入端口名称。

    所以我现在要做的是:

    std::string comPort;
    cout << "Port name: ";
    getline (cin, comPort);
    cout << comPort;
    
    serialCommunication serialTest(comPort);
    serialTest.serialInit();
    

在第4行中,我使用cout来显示字符串的内容。 Getline可以正常工作。当我在控制台中输入“ \\。\ COM11”时,它也会引用此内容。 但是:当我在代码末尾调用函数时,它不起作用。

我错过了什么吗,那条getline可以,但是我看不到什么?

1 个答案:

答案 0 :(得分:-1)

好的,我发现了错误。

从控制台读取“ \”实际上变成了字符串变量中的“ \\”,因为我猜是因为符号会自动转义。没想到,抱歉创建了不必要的线程。