Открытие файла в другом каталоге в C - PullRequest
0 голосов
/ 10 октября 2009

Как это достигается? Я хочу использовать

pFile = fopen( file, "rb" );

Где файл - это символ, строка или строка, содержащая текст, содержащий локальный путь к двоичному файлу

C:\Documents and Settings\Supernovah\Desktop\Supernovah.bin

но, конечно, это вылетает.

Меня также интересует, как переносить текущую директорию в переносимом режиме. windows.h немного уродлив, но если я не могу сделать это портативным способом. Да будет так.

спасибо:)

Ответы [ 2 ]

5 голосов
/ 10 октября 2009
char* file="C:\\Documents and Settings\\Supernovah\\Desktop\\Supernovah.bin";
FILE* pFile = fopen( file, "rb" );
1 голос
/ 10 октября 2009

И GCC / MinGW, и VC ++ 2008 (и, возможно, другие) допускают разделители пути в стиле Unix в Win32. итак:

char* file="C:/Documents and Settings/Supernovah/Desktop/Supernovah.bin";

также будет работать и будет переносимым между операционными системами. Однако пробелы в путях могут вызывать проблемы, требующие замены на% 20 в Linux.

...