2014-12-17 3 views
0

Я хочу использовать C++ для создания файлов, которые я могу экспортировать для использования в другом месте. Следующий код, похоже, создает файлы в порядке, в том смысле, что я могу записать данные в файл, а затем прочитать его позже в программе на C++. Когда я пытаюсь на самом деле найти созданный файл, чтобы использовать его, однако, нигде не было найдено ..Файлы, созданные на C++, не найдены

using namespace std; 

int main() { 

    ofstream myfile ("example3.dat"); 
    if (myfile.is_open()){ 

     myfile << 3335 << " " << 64 << " " << 43 << 9 << 5 << 6 << 5 << 4 << 6; 
     myfile.close(); 
    } 
    else cout << "Unable to open file"; 

    ifstream myfile2 ("example3.dat"); 

    int b; 
    myfile2 >> b; cout <<b; 
    myfile2 >> b; cout <<b; 
    myfile2.close(); 

    return 0; 
} 
+0

'cd /' 'find. -name example3.dat -print' – Almo

+1

@sleeping_dragon: текущий каталог не всегда является каталогом exe. – RvdK

+0

Может ли это быть в папке Debug? – JMc

ответ

2

Конечно, вы можете найти файл, как предложено в комментариях выше, но вы могли бы быть лучше указав абсолютный путь в вашей программе, чтобы вы знали, где она написана.

Форматирование пути является OS-специфический, но, возможно,

/tmp/example.dat 

C:\Windows\Temp\example.dat 

для Linux и Windows, соответственно (но вам нужно будет решить для себя, это только примеры).

+0

Говоря в общем, жесткая кодировка абсолютного пути в компьютерную программу является идеей _terrible_. –

+0

@LightnessRacesinOrbit зависит от контекста. Если вы знаете, куда хотите файлы, и это код для конкретной цели, все в порядке. Лучшим вариантом было бы позволить пользователю указать местоположение, но это дополнительный уровень сложности, который OP может не понадобиться. –

+0

В общем случае вы должны взять текущий рабочий каталог. Это концепция, которая существует по какой-то причине! Это, как правило, сложность, чем все, что вы могли бы придумать, при прочих равных условиях. –

4

Файлы будут созданы в рабочем каталоге .

В случае, если процесс запускается с IDE (например, Visual Studio), рабочий каталог может отличаться от пути исполняемого файла. Вы должны проверить свойства проекта, чтобы узнать фактический путь.

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