Почему я должен использовать c_str () в функциях [duplicate]
На этот вопрос уже есть ответ:
Почему классы std :: fstream не принимают std :: string? 10 ответовЯ читаю книгу C ++ Primer и в главе, посвященной вводу файлов, она использует:
ifstream infile(ifile.c_str());
открыть файл с именем в строкеifile
.
Я попробовал код, и он отлично работает даже безc_str()
. Так какой смысл его использовать?
Должен ли я использоватьc_str()
когда я пытаюсь открыть файл из аргумента командной строки? Я имею в виду правильное использование:
ifstream fin( argv[1] )
ил
ifstream fin( argv[1].c_str() )