如何在C ++中打印string

我试过了,但没有奏效。

#include <string> string someString("This is a string."); printf("%s\n", someString); 
 #include <iostream> cout << someString << "\n"; 

要么

 printf("%s\n",someString.c_str()) 

您需要访问基础缓冲区:

 printf("%s\n", someString.c_str()); 

或者更好的使用cout << someString << endl; (你需要#include <iostream>来使用cout

此外,你可能想要using namespace std;导入std命名using namespace std; 或者用std::作为stringcout前缀。

你需要#include<string>#include<iostream> (当我读到答案时我没有得到它)​​。 这里有一些代码可以工作:

 #include<string> #include<iostream> using namespace std; int main() { string name; cin >> name; string message("hi"); cout << name << message; return 0; } 

你不能用参数中的std :: string来调用“printf”。 “%s”是为C风格的stringdevise的:char *或char []。 在C ++中,你可以这样做:

 #include <iostream> std::cout << YourString << std::endl; 

如果你完全想使用printf,你可以使用“c_str()”方法来给出string的char *表示。

 printf("%s\n",YourString.c_str()) 

如果您想使用printf() ,您可能还需要:

 #include <stdio.h>