Как напечатать строку в C++

Я пробовал это, но это не сработало.

#include <string>
string someString("This is a string.");
printf("%sn", someString);

6 ответов


#include <iostream>
std::cout << someString << "\n";

или

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

вам нужно получить доступ к основным буфером:

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

или лучше использовать cout << someString << endl; (нужно #include <iostream> использовать cout)

кроме того, вы можете импортировать std пространство имен с помощью using namespace std; или как string и cout С std::.


вам нужно #include<string> использовать string и #include<iostream> использовать cin и cout. (Я не понял, когда прочитал ответы). Вот код, который работает:

#include<string>
#include<iostream>
using namespace std;

int main()
{
    string name;
    cin >> name;
    string message("hi");
    cout << name << message;
    return 0;
}

вы не можете вызвать "printf" с параметром std::string. "%S " предназначен для строки в стиле C : char* или char []. В C++ вы можете сделать так:

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

Если вы абсолютно хотите использовать printf, вы можете использовать метод " c_str ()", который дает представление char* вашей строки.

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

Если вы хотите использовать printf(), вы также можете захотеть:

#include <stdio.h>

при использовании строки наилучшим способом печати сообщения является:

#include <iostream>
using namespace std;

int main(){
  char string[100]
  cin>>string;
  cout<<string;
  return 0;
}


это может просто сделать работу вместо того, чтобы сделать метод, который вы приняли.