我尝试过使用getline()
,但delimiter
设置为“ !!
”会导致程序无法编译。我需要将字符串读入一个名为messages的字符串变量中。我的代码看起来像这样...帮助?
cout << "Enter the message> ";
getline(cin, message, "!!");
您没有正确使用 std 函数。您正在尝试为分隔符而不是字符传递字符串。如果那是您需要的分隔符,getline 不会帮助您。
http://www.cplusplus.com/reference/string/string/getline/
在这里,您可以找到您想要实现的工作代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string message;
cout << "Enter the message>";
cin >> message;
cout << message.substr(0, message.find("!!")) << endl;
return 0;
}
您需要为您的场景运行此命令或类似命令:g++ main.cpp && a.out
输出是:
Enter the message>sadfsadfdsafsa!!4252435
sadfsadfdsafsa
getline() 接受 char 作为分隔符,“!!” 是一个字符串
istream& getline (istream& is, string& str, char delim);
这就是您的代码无法编译的原因