2016-11-29 4 views
-2

Я хочу ввести строку с VC, но кажется, что функция getline не работает, когда я запускаю свою программу, часть «cin» была пропущена. Вот мой кодКак ввести строку в VC

printf("Exercise 1\n"); 
    printf("Please enter the sentence you want\n"); 
    char str[256]; 
    std::cin.getline(str, 256); 
    std::cout << str; 

Вот мои заголовки

#include <iostream> 
#include <string> 
#include <bitset> 

Я использую VS2015 сообщества, есть что-то не так с моим компилятором?

+4

'символ ул [256];' -> 'станд :: строка ул;', 'станд :: cin.getline (ул, 256);' -> ' std :: getline (std :: cin, str); 'и небеса снова голубые. –

+2

Получите другую книгу. Вы должны использовать 'std :: string' для * string * и text. –

ответ

0

Почему бы вам просто не сделать?

char str[256]; 
std::cin >> str; 

или

string mystring; 
std::getline (std::cin,mystring); 
+0

Ну, я сделал это раньше. Но мне нужно пересчитать слово и символы в моей строке, и пробел между двумя словами нужно пропустить. Вот почему я использовал функцию getline. Итак, как я могу это сделать? –

+0

BTW, 'std :: cin >> mystring' будет читать только слово. Чтобы получить текстовую строку ввода, необходимо использовать 'std :: getline'. –

+0

Я вижу. Ред. Спасибо за комментарий @ThomasMatthews –

Смежные вопросы