使用してみgetline()
ましたが、delimiter
「」に設定すると!!
プログラムがコンパイルされません。メッセージと呼ばれる文字列変数に文字列を読み込む必要があります。私のコードは次のようになります...
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);
それがあなたのコードがコンパイルされない理由です