Já mám c++ úkol, že chce se mnou pracovat s vstup se skládá z n očíslovaných vět a tyto věty mohou být odděleny mezerou, nebo nový řádek. Takže úkol naznačuje, že vstup bude konec s výskytem znaku @. V c++ jak mohu vzít jeden vstup s n očíslovaných vět do @ ?
0
Otázka není specifikace anough dát odpověď.
Ale čtení, dokud znak appearscan být provedeno s jednoduchým smyčky. I když můžete zadat více dat po @, bude ignorována.
Máme kompletní vstupní řetězec a rozdělíme podél '.'
Možná následující může dát alespoň představu . . .
#include <string>
#include <iostream>
#include <vector>
#include <regex>
const std::regex re{R"(\.)"};
int main() {
// Here we store the complete input up to a @
std::string data{};
char c{};
// Read until @ found
while (std::cin.get(c) and c != '@')
data += c;
// Split input into sentences.
std::vector sentence(std::sregex_token_iterator(data.begin(), data.end(), re, -1), {});
// Show all sentences
for (const std::string& s : sentence) std::cout << s << '\n';
}