"Hat nicht funktioniert" - warum nicht einen Fehler anzeigen oder was genau hat nicht funktioniert? (Auch wenn es in diesem Fall ziemlich offensichtlich ist - aber Sie könnten auch einen Compilerfehler haben, da Sie den stdNamespace nicht importieren )
Sie müssen #include<string>verwenden stringund #include<iostream>zu verwenden , cinund cout. (Ich habe es nicht verstanden, als ich die Antworten gelesen habe). Hier ist ein Code, der funktioniert:
Sie können "printf" nicht mit einem std :: string im Parameter aufrufen. Das "% s" ist für eine Zeichenfolge im C-Stil ausgelegt: char * oder char []. In C ++ können Sie Folgendes tun:
std
Namespace nicht importieren )Antworten:
#include <iostream> std::cout << someString << "\n";
oder
printf("%s\n",someString.c_str());
quelle
Sie müssen auf den zugrunde liegenden Puffer zugreifen:
printf("%s\n", someString.c_str());
Oder besser nutzen
cout << someString << endl;
(müssen Sie#include <iostream>
verwendencout
)Außerdem möchten Sie den
std
Namespace möglicherweise mitusing namespace std;
oder als Präfix sowohlstring
als auchcout
mit importierenstd::
.quelle
Sie müssen
#include<string>
verwendenstring
und#include<iostream>
zu verwenden ,cin
undcout
. (Ich habe es nicht verstanden, als ich die Antworten gelesen habe). Hier ist ein Code, der funktioniert:#include<string> #include<iostream> using namespace std; int main() { string name; cin >> name; string message("hi"); cout << name << message; return 0; }
quelle
Sie können "printf" nicht mit einem std :: string im Parameter aufrufen. Das "% s" ist für eine Zeichenfolge im C-Stil ausgelegt: char * oder char []. In C ++ können Sie Folgendes tun:
#include <iostream> std::cout << YourString << std::endl;
Wenn Sie printf unbedingt verwenden möchten, können Sie die Methode "c_str ()" verwenden, die eine char * -Darstellung Ihrer Zeichenfolge liefert.
printf("%s\n",YourString.c_str())
quelle
Wenn Sie verwenden
printf()
möchten, möchten Sie möglicherweise auch:#include <stdio.h>
quelle
#include <cstdio>
(Wie man einen String in C ++Wenn Sie eine Zeichenfolge verwenden, können Sie Ihre Nachricht am besten drucken:
#include <iostream> #include <string> using namespace std; int main(){ string newInput; getline(cin, newInput); cout<<newInput; return 0; }
Dies kann einfach die Arbeit erledigen, anstatt die von Ihnen gewählte Methode auszuführen.
quelle