'da bir dize nasıl yazdırılır Bunu denedim, ancak çalışmadı.C++
#include <string>
string someString("This is a string.");
printf("%s\n", someString);
'da bir dize nasıl yazdırılır Bunu denedim, ancak çalışmadı.C++
#include <string>
string someString("This is a string.");
printf("%s\n", someString);
#include <iostream>
cout << someString << "\n";
veya printf()
kullanmak isterseniz, ayrıca isteyebilirsiniz
printf("%s\n",someString.c_str())
Her zaman eski sürümü tercih ederim. –
daha iyi çalışıyor: std :: cout << someString << "\ n"; – ChaosPredictor
Alttaki tampon erişmek gerekir:
printf("%s\n", someString.c_str());
Ya da daha kullanım cout << someString << endl;
using namespace std;
kullanılarak std
ad alanı almak için Ek isteyebileceğiniz
(eğer cout
kullanmak #include <iostream>
gerekir) veya ve cout
öneklerinin std::
ile birlikte.
Bir std "printf" diyemezsin :: parametrede dize. "% s", C stili dizgi için tasarlanmış: char * veya char []. Eğer kesinlikle printf kullanmak istiyorsanız
#include <iostream>
std::cout << YourString << std::endl;
, size bir ip karakter * temsilini verecek "c_str()" metodu kullanabilirsiniz: Böyle yapabilirsiniz C++ .
printf("%s\n",YourString.c_str())
Eğer #include<string>
VE #include<iostream>
(Cevapları okuduğumda alamadım) gerekir. İşte çalışan bir kod:
#include<string>
#include<iostream>
using namespace std;
int main()
{
string name;
cin >> name;
string message("hi");
cout << name << message;
return 0;
}
"Çalışılmadı" - neden bize bir hata göstermiyor veya tam olarak çalışmadı? (Bu durumda oldukça belirgin olsa da - 'std' ad alanını almadığınız için bir derleyici hatası da olabilir) – ThiefMaster
Kopyala: http://stackoverflow.com/questions/3634766/c-printf-on -strings-prints-gibberish –