Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
alkagolik
Заблокирован
#1

ofstream - C++

31.07.2011, 23:51. Просмотров 1727. Ответов 11
Метки нет (Все метки)

Линковка, компиляция без ошибок. При выполнении программы срабатывает условие, почему так? Если лепить файл с программой в директории, то все работает, а так нет.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fstream>
 
bool DIGIT(int tmp);
 
int main()
{
     const char *filename = "/home/chertopolox/projects/temp";
     std::ofstream ofs(filename);
     if (!ofs.is_open()){
        std::cerr << "Error open file";
        return 1;
     }
     //for (int j=0; j<4096; ++j){
      //  if (DIGIT(j))  << ", " << j;
    //}
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2011, 23:51     ofstream
Посмотрите здесь:

ofstream - C++
доброго времени суток! Возникла такая проблема: У меня программа должна помещать данные о процессах и модулях в txt файл std::ofstream...

ofstream - C++
Привет всем! Народ помогите пожалуйста нубу) Как сделать так чтобы создовался файл с именем которое я наберу с клавиатуры... пытался...

Ofstream - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { ofstream test(&quot;C:\Program Files...

FILE* и ofstream - C++
Здравствуйте. Была поставлена предо мной задача: Сделать структуру, которая через меню будет выполнять некоторые действия с файлами....

Ofstream and ostream - C++
Как мне определить одну переменную для обоих потоков ? т .ею есть ффункция void Show(??? &amp;out) { out &lt;&lt; &quot; ...

C++ файлы ifstream/ofstream - C++
Доброе время суток нужна небольшая помощь с записью/считыванием из файла вообщем при считывание из файла eof() не определяет конца файла и...

Перегрузка ofstream, istream - C++
В общем-то ошибка в описана в самом коде //main.cpp #include &quot;ui.cpp&quot; int main() { ui iu; iu.menu(); iu.casein(); ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
31.07.2011, 23:55     ofstream #2
Цитата Сообщение от alkagolik Посмотреть сообщение
/home/chertopolox/projects/temp
это кто?

Добавлено через 25 секунд
Цитата Сообщение от alkagolik Посмотреть сообщение
лепить файл
что это означает?
alkagolik
Заблокирован
01.08.2011, 00:28  [ТС]     ofstream #3
/home/chertopolox/projects/temp

Это текстовый файл в который должен записываться поток

Лепить файл, означает создать файл в одной директории с бинарником. Прошу прощения за неясности.
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
01.08.2011, 00:40     ofstream #4
Цитата Сообщение от alkagolik Посмотреть сообщение
std::ofstream ofs(filename);
после этой строки добавь:
C++
1
std::cout << "error: " << strerror(errno) << std::endl;
а то я не уверен что мы понимаем друг-друга...
alkagolik
Заблокирован
01.08.2011, 01:02  [ТС]     ofstream #5
Что-то я не догоняю. Я пишу в codeBlocks, обновил ядро, наверное надо гуй снова поставить. сейчас подключил errno.h
Ответ: undeclared strerror
Сейчас перезагружусь, поставлю гуй снова посмотрю.

Добавлено через 8 минут
ошибка линковки
error: ‘strerror’ was not declared in this scope|
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
01.08.2011, 01:03     ofstream #6
#include <string.h>
alkagolik
Заблокирован
01.08.2011, 01:07  [ТС]     ofstream #7
Error: No such file or directory
Ну да, потерял директорию по пути. Извиняюсь за бескпокойство.
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
01.08.2011, 01:16     ofstream #8
Цитата Сообщение от alkagolik Посмотреть сообщение
Error: No such file or directory
какая ОС? какой компилятор?

Добавлено через 23 секунды
Цитата Сообщение от alkagolik Посмотреть сообщение
потерял директорию по пути.
собственно, так и ожидалось
alkagolik
Заблокирован
01.08.2011, 01:24  [ТС]     ofstream #9
ubuntu, gcc 4.5
вся соль в том что путь пересмотрел стопицот раз, а так и не заметил.
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
01.08.2011, 01:26     ofstream #10
Цитата Сообщение от alkagolik Посмотреть сообщение
а так и не заметил
обычная ситуация. по этому привыкай использовать подобный прием
alkagolik
Заблокирован
01.08.2011, 01:47  [ТС]     ofstream #11
по этому привыкай использовать подобный прием
Да как бэ привыкаем и так потихоньку. Загвоздка в том что изначально сел в с++, теперь смотрю что в никс без Си никак. Еще вопрос, но уже по другой теме. у меня gdb 7.2 не поддерживает pthreads, я где-то читал что он вообще с потоками не очень дружит, на что переориентироваться лучше?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2011, 13:05     ofstream
Еще ссылки по теме:

Ofstream перегрузить оператор << - C++
Здравствуйте, есть такая проблемка: создал клас матриц на основе двумерного вектора, помогите пожалуйста правильно перегрузить оператор...

Передача ofstream в функцию - C++
Здравствуйте. Подскажите, пожалуйста, как сделать из участка с 54 по 62 строку отдельную функцию (также с 64 по 73, с 75 по 85, с 87 по...

Перегрузка ifstream и ofstream? - C++
Есть класс //test.h cass test { private: int i; string st; public:

Наследование от ofstream и перегрузка << - C++
Добрый день, гуглил на английском языке, но ответа не попалось. Предыстория: некий объекта принимает в качестве параметра ссылку на...

ifstream/ofstream/fstream - C++
#include &lt;fstream&gt; fstream autosave; autosave.open(&quot;...autosave.txt&quot;); char x; autosave &lt;&lt; x; cout &gt;&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
diagon
Higher
1927 / 1193 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
01.08.2011, 13:05     ofstream #12
Цитата Сообщение от alkagolik Посмотреть сообщение
Загвоздка в том что изначально сел в с++, теперь смотрю что в никс без Си никак.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <boost/filesystem.hpp>
int main(){
    namespace fs = boost::filesystem;
    std::cout << "Enter path of file\n";
    fs::path file;
    std::cin >> file;
    try
    {
        if (!fs::exists(file))
        {
            std::cerr << "File not found!\n";
            return 1;
        }
        if (fs::is_directory(file))
        {
            std::cerr << "It's directory!\n";
            return 1;
        }
        else if (!fs::is_regular_file(file))
        {
            std::cerr << "It's not file!\n";
            return 1;
        }
        else
        {
            std::cout << "Size of \"" << file.filename() << "\" is "
                          << fs::file_size(file)
                          << " bytes\n";
        }
    }
    //если лень писать if'ы
        catch(const fs::filesystem_error& ex)
    {
        std::cerr << ex.what() << std::endl;
        return 1;
    }
    return 0;
}
Yandex
Объявления
01.08.2011, 13:05     ofstream
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru