我目前正在为包含打开端口的项目编写代码。我正在将端口的名称写入字符串-变量,并将该字符串用作函数的参数。
我想比较以下两种方法:
我正在初始化字符串时直接写入字符串。所以我正在做的是:
std::string comPort ("\\\\.\\COM11");
serialCommunication serialTest(comPort);
serialTest.serialInit();
这种方法效果很好,并且我没有收到任何错误。
我希望用户输入端口名称。
所以我现在要做的是:
std::string comPort;
cout << "Port name: ";
getline (cin, comPort);
cout << comPort;
serialCommunication serialTest(comPort);
serialTest.serialInit();
在第4行中,我使用cout
来显示字符串的内容。 Getline
可以正常工作。当我在控制台中输入“ \\。\ COM11”时,它也会引用此内容。
但是:当我在代码末尾调用函数时,它不起作用。
我错过了什么吗,那条getline可以,但是我看不到什么?
答案 0 :(得分:-1)
好的,我发现了错误。
从控制台读取“ \”实际上变成了字符串变量中的“ \\”,因为我猜是因为符号会自动转义。没想到,抱歉创建了不必要的线程。