Если вы пишете C++, то стандартный класс строк называется std::string
и находится в заголовке <string>
. Но как правило, не требуется использовать printf
или scanf
с ним, вы будете использовать C++ I/O:
#include <iostream>
#include <string>
int main()
{
using namespace std;
string names;
cout << "What is your name?" << endl;
getline(cin, names);
cout << "Your name is " << names << endl;
}
Если (несмотря на вопрос тэгом) вы пишете C, то нет никакого типа называется string
. Строки обычно представлены массивами символов:
char names[SOME_LARGE_NUMBER];
, но нужно учитывать, что, если вы не очень осторожны, scanf
может переполнить буфер и вызвать всевозможные ошибки во время выполнения.
Включите заголовок 'string'. И добавьте 'std', как @taocp. –
Кроме того, 'printf' является функцией C, которая не знает потоков. Используйте 'cin' и' cout' вместо старых функций C. – Wug
Какой компилятор вы используете? – banuj