Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2010, 22:01   #1
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
Вопрос Создание файла на системном диске

Возникла такая проблема: прога должна создавать файл с некоторой текстовой информацией на системном диске, но после компиляции ничего не происходит. Если создавать файл на другом диске, то все работает прекрасно. Операционная система Windows 7
Код:
     string name_beg="C://TEST//text_information_";
	

      name_beg.append(".txt");
		
      ofstream out_f(name_beg.c_str(),ios::out|ios::app);

        //============ некоторые действия===============

      out_f.write(bit_ch,strlen(bit_ch));
      out_f.close();
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Старый 01.10.2010, 22:40   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Прав у вас нет на запись. Запрашивайте права при выполнении операции, см. в сети и в MSDN, либо ставьте запрос прав при запуске приложения на admin, см. manifest application.
BOBAH13 вне форума Ответить с цитированием
Старый 02.10.2010, 12:16   #3
iselga
Новичок
Джуниор
 
Регистрация: 02.10.2010
Сообщений: 1
По умолчанию

Ты задаешь файл в корне диска С семерка не дает....измени путь
"C://Windows//system32//TEST//text_information_";
вообще то слэши должны быть обратными
"C:\\Windows\\system32\\TEST\\text_ information_";
iselga вне форума Ответить с цитированием
Старый 02.10.2010, 17:12   #4
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

По поводу слэшей- мой компилятор допускает оба написания, хотя согласен, // так привычнее)
Если предоставить полный доступ программе(свойства->безопасность->полный доступ), она тоже не создает файлы.
Заменить путь тоже не помогает(
Единственный способ стать умнее - играть с более умным противником.

Последний раз редактировалось Sam Gold; 02.10.2010 в 17:16.
Sam Gold вне форума Ответить с цитированием
Старый 02.10.2010, 22:09   #5
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

А все разобрался
Если создать директорию с помощью CreateDirectory(), то туда система позволяет записывать!
Код:
      string directory="C:\\TEST";
      CreateDirectory(directory.c_str(),NULL);
      directory.append("\\text_information_.txt");
      ofstream out_f(name_beg.c_str(),ios::out|ios::app);

         //============ некоторые действия===============

      out_f.write(bit_ch,strlen(bit_ch));
      out_f.close();
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание программы в системном отладчике Debug McDoC Помощь студентам 2 06.05.2010 13:40
При установки игры выдает ошибку записи файла (возможна,нет места на диске ) serenikei Свободное общение 8 05.03.2010 23:48
Открытие файла и создание графика на основе чисел из файла Simon..14 Общие вопросы C/C++ 8 09.06.2009 10:18
Указание точного адреса файла на диске Vladya Помощь студентам 4 04.11.2008 20:48