Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> std::ofstream open 
V
    Опции темы
mrgloom
Дата 29.5.2013, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



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

Код

        std::ofstream outfile;
        outfile.open("log_test.txt", std::ios_base::app);
        if(outfile.is_open())
        {
            outfile<<"i= "<<vec[i].src_img_idx
                <<" j= "<<vec[i].dst_img_idx
                <<endl; 
            outfile.close();
        }


Добавлено через 3 минуты и 46 секунд
и так тоже
Код

outfile.open("log_test.txt", std::ofstream::out | std::ios_base::app); 

PM MAIL   Вверх
bsa
Дата 29.5.2013, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



mrgloom, попробуй указать путь к файлу полностью.
PM   Вверх
mrgloom
Дата 29.5.2013, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



попробовал не помогает.

может в самом проекте что то блокирует\перенаправляет вывод? (он большой и я всех его частей не знаю)

Это сообщение отредактировал(а) mrgloom - 29.5.2013, 15:24
PM MAIL   Вверх
mrgloom
Дата 29.5.2013, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



а нет, похоже слэши не в ту сторону были.

теперь с полным путем создается.   почему тогда просто с указанием имени файла не работает?



Это сообщение отредактировал(а) mrgloom - 29.5.2013, 16:01
PM MAIL   Вверх
volatile
Дата 29.5.2013, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Цитата(mrgloom @  29.5.2013,  15:47 Найти цитируемый пост)
почему тогда просто с указанием имени файла не работает? 

работает. файл создаецца в текущей директории. (по поводу текущей директориии я уже писал в прошой теме)
Поищите файлик на вашем харде, наверняка найдете.  smile 

PM MAIL   Вверх
mrgloom
Дата 30.5.2013, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Цитата

(по поводу текущей директориии я уже писал в прошой теме)

в какой?


ну в итоге файлы нашлись рядом с изображениями которыми я загружал в программу.(на другом диске)

обычно когда я делал тестовые проекты всё сохранялось и бралось из папки проекта (где лежат .cpp файлы)


т.е. в итоге всё работает, но как сделать так чтобы сохранялось рядом с .exe ? (я думал ofstream::open  от этой директории всё пути отсчитывает)

Это сообщение отредактировал(а) mrgloom - 30.5.2013, 08:59
PM MAIL   Вверх
xvr
Дата 30.5.2013, 10:17 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(mrgloom @  30.5.2013,  08:56 Найти цитируемый пост)
ну в итоге файлы нашлись рядом с изображениями которыми я загружал в программу.(на другом диске)

Угадаю - их вы выбирали с помощью стандартного диалога открытия файла в Windows?

Цитата(mrgloom @  30.5.2013,  08:56 Найти цитируемый пост)
я думал ofstream::open  от этой директории всё пути отсчитывает

Он отсчитывает от 'текущей директории' (есть такое понятие в ОС). Когда вы звпускаете программу из VS, она ставит текущую директорию туда, где лежит проект. Когда вы вызываете диалоги выбора файла Windos, он (диалог) перемещает текущую директорию туда, где находится выбранный файл (если только вы не отключили данное поведение в опциях при вызове диалога)

Цитата(mrgloom @  30.5.2013,  08:56 Найти цитируемый пост)
но как сделать так чтобы сохранялось рядом с .exe

Явно найти путь к вашему exe и добавить к нему имя вашего лог файла:
Код

char path[MAX_PATH];
GetNoduleFileName(NULL,path,sizeof(path));
strcpy(strrchr(path,'\\')+1,"log_test.txt");
outfile.open(path, std::ios_base::app);


PM MAIL   Вверх
mrgloom
Дата 30.5.2013, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Цитата

Угадаю - их вы выбирали с помощью стандартного диалога открытия файла в Windows?

ага



теперь всё понятно.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0536 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.