2012-05-25 2 views
0

Возможно ли в простом C++ попросить пользователя ввести путь и управлять этим же файлом? Кто-нибудь знает сайт, чтобы узнать больше об этом? На этот раз Google не так-то просто.Как я могу попросить пользователя ввести файл и позволить C++ открыть этот файл?

#include <iostream> 
#include <fstream> 

int main() 
{ 
    using namespace std; 


    char * b = 0; 

    cin >> b; 

    cout << b; 

    const char * c = b; 

    ofstream myfile; 
    myfile.open (c); 
    myfile << "Writing this to a file.\n"; 
    myfile.close(); 

    return 0; 
} 
+3

Почему вы используете C-строки вместо 'станд :: string'? –

ответ

1

Вместо char* использовать std::string:

#include <string> 

std::string b; 

Как код, попытка делается запись через указатель NULL.

Если не C++ 11, то вам нужно использовать b.c_str() перейти к myfile.open():

myfile.open(b.c_str()); // Or ofstream myfile(b.c_str()); 
if (my_file.is_open()) 
{ 
    myfile << "Writing this to a file.\n"; 
    myfile.close(); 
} 
+0

Вы можете просто передать строку 'open()', вы знаете. –

+0

@ RichardJ.RossIII, только с C++ 11: [open()] (http://en.cppreference.com/w/cpp/io/basic_ofstream/open) – hmjd

+0

Все еще не работает. Xcode говорит: нет жизнеспособного преобразования из 'string' в 'const char *' – user1043065

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