Создание файла на диске C и запись в него

152
29 мая 2019, 05:00

Если я напишу

   ofstream log(TEXT("С:\\TEST\\log.txt"),ios::app);     

То у меня это будет работать только если вместо системного диска(C) будет стоять любой другой. Создать директорию через

CreateDirectory(TEXT("C:\\TEST"), NULL);

получается легко. А вот сам файл создать где-либо на диске C никак не выходит. Мне желательно как-нибудь именно через ofstream реализовать это.

Answer 1

В общем я разобрался с этим вопросом. Как я понял создавать файлы можно легко в папке и подпапках после AppData, но на каждом компе разные же имена пользователей. Однако и это очень легко решается.Функция getenv("APPDATA") получает местоположение до папки Roaming, а дальше вам остается к ней прикрепить полный путь и вуаля, готово))

strcpy(dir, getenv("APPDATA"));
strcat(dir, "\\Microsoft\\");
strcat(logName, dir); //dir- это если вам еще для чего-то надо будет директория.
strcat(logName, "\\log.txt");
ofstream log(logName, ios::app); // и вы создали файл txt на диске С))
READ ALSO
Как узнать количество полей в структуре?

Как узнать количество полей в структуре?

Как узнать количество полей в структуре?

124
Не могу собрать akelpad

Не могу собрать akelpad

Покажите как откомпилировать akelpad

146