2010-05-16 3 views
2

Что такое эквивалент C++ функции C fgets?fgets эквивалент в C++

Я посмотрел getline от ifstream, но когда дело доходит до символа конца линии, '\n', он заканчивается и отбрасывает его. Я ищу функцию, которая просто заканчивается символом конечной строки, но добавляет символ конца строки в массив char.

+0

Функция 'fgets' по-прежнему действует на C++. –

ответ

0

Вы всегда можете положить терминатор линии туда вручную.

0

Просто используйте getline C++ и добавьте новую строку на себя.

3

Вы все еще можете использовать std::getline(); просто добавьте символ новой строки самостоятельно. Например,

std::ifstream fs("filename.txt"); 
std::string s; 
std::getline(fs, s); 

// Make sure we didn't reach the end or fail before reading the delimiter: 
if (fs) 
    s.push_back('\n');