Attualmente sto usando il seguente codice per tagliare tutto a destra std::stringsnei miei programmi: std::string s; s.erase(s.find_last_not_of(" \n\r\t")+1); Funziona bene, ma mi chiedo se ci sono alcuni casi finali in cui potrebbe fallire? Naturalmente, le risposte con alternative eleganti e anche la soluzione di assetto sinistro sono benvenute.
Ho pensato che sarebbe stato molto semplice, ma presenta alcune difficoltà. Se ho std::string name = "John"; int age = 21; Come li combino per ottenere una singola stringa "John21"?
Devo usare un std::stringper memorizzare i dati recuperati da fgets(). Per fare questo ho bisogno di convertire il char*valore restituito da fgets()in std::stringa store in un array. Come si può fare?
Utilizzando C ++ 11, Ubuntu 14.04, toolchain predefinito GCC . Questo codice ha esito negativo: constexpr std::string constString = "constString"; errore: il tipo 'const string {aka const std :: basic_string}' della variabile constexpr 'constString' non è letterale ... perché ... 'std :: basic_string' ha un distruttore non banale È possibile …
std::stringAvevo capito che il copy-on-write non è un modo praticabile per implementare un conforming in C ++ 11, ma quando è emerso recentemente in discussione mi sono trovato incapace di supportare direttamente questa affermazione. Ho ragione che C ++ 11 non ammette implementazioni basate su COW std::string? In caso affermativo, …
Salve, sto cercando di convertire uno standard std::stringin uno NSStringma non ho molta fortuna. Posso convertire con successo da an NSStringa a std::stringcon il seguente codice NSString *realm = @"Hollywood"; std::string REALM = [realm cStringUsingEncoding:[NSString defaultCStringEncoding]]; Tuttavia ricevo un errore in fase di compilazione quando provo quanto segue NSString *errorMessage …
Cosa significa la frase std::string::nposnel seguente frammento di codice? found = str.find(str2); if (found != std::string::npos) std::cout << "first 'needle' found at: " << int(found) << std::endl;
Se voglio costruire uno std :: string con una riga come: std::string my_string("a\0b"); Dove voglio avere tre caratteri nella stringa risultante (a, null, b), ne ottengo solo uno. Qual è la sintassi corretta?
È difficile dire cosa viene chiesto qui. Questa domanda è ambigua, vaga, incompleta, eccessivamente ampia o retorica e non può essere ragionevolmente risolta nella sua forma attuale. Per assistenza nel chiarire questa domanda in modo che possa essere riaperta, visita il Centro assistenza . Chiuso 8 anni fa . So …
Trovo che il comportamento std::string::findsia incompatibile con i contenitori C ++ standard. Per esempio std::map<int, int> myMap = {{1, 2}}; auto it = myMap.find(10); // it == myMap.end() Ma per una stringa, std::string myStr = "hello"; auto it = myStr.find('!'); // it == std::string::npos Perché il reso non dovrebbe invece …
string s; bool b[] = {s=="", s==s.c_str(), s.c_str()==""}; imposta b[] = {true, true, false}; perché è b[2]falso? Se A==Be A==C, ciò non dovrebbe implicare B==C?
#include<iostream> #include<string> template <typename T> void swap(T a , T b) { T temp = a; a = b; b = temp; } template <typename T1> void swap1(T1 a , T1 b) { T1 temp = a; a = b; b = temp; } int main() { int a = …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.