Подтвердить что ты не робот

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

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

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

Ответ 1

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

или же

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

Ответ 2

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

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

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

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

Ответ 3

Вам нужно #include<string> чтобы использовать string AND #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;
}

Ответ 4

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

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

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

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

Ответ 5

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

#include <stdio.h>

Ответ 6

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

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

int main(){
  string newInput;
  getline(cin, newInput);
  cout<<newInput;
  return 0;
}


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