Ho un c++ compito che vogliono per me lavorare con un ingresso che si compone di n numerati frasi e queste frasi possono essere separati da uno spazio o una nuova linea. Così il compito che indica che l'ingresso si concluderà con l'occorrenza del carattere @. In c++ come posso prendere un ingresso con n numerati frasi finché @ ?
0
La domanda è: non specif anough dare una risposta.
Ma la lettura fino a un personaggio appearscan essere fatto con un semplice ciclo. Anche se inserisci più dati dopo la @, sarà ignorato.
Abbiamo la completa input una stringa e diviso lungo il '.'
Forse il seguente grado di dare almeno un'idea . . .
#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';
}