Да, и нет.
char f_name[11];
объявляет массив char
с 11 элементами. На самом деле это не строка - вы можете считать ее «строкой C», если в конце она имеет NUL ('\0'
) (чего нет).
std::cin.getline(f_name, 10);
Может или не может прочитать всю введенную строку, потому что он читает только до 9 символов. Вам нужно не сделать буфер больше, чем значение, данное cin.getline
.
Если у вас нет особых причин не делать этого, используйте std::getline
для чтения строки в C ++. Пример ниже.
#include <string>
std::string line;
std::getline(std::cin, line);