std::ofstream

Тема в разделе "LANGS.C", создана пользователем systemio, 8 дек 2008.

  1. systemio

    systemio New Member

    Публикаций:
    0
    Регистрация:
    18 мар 2008
    Сообщения:
    98
    std::ofstream os;
    for(unsigned i = 0; i < 100000; ++i) {
    os.open("1.txt", std::ios::app);
    os<<i<<" ";
    os.close();
    }

    пишет в файл до какого то значения а потом тупит ничего не пишет. в чем дело?
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Код (Text):
    1. #include <iostream>
    2. #include <fstream>
    3.  
    4. int main() {
    5. std::ofstream    os;
    6. os.open("1.txt", std::ios::app);
    7.     for(unsigned i = 0; i < 100000; ++i) {
    8.         os<<i<<" ";
    9.     }
    10. os.close();
    11. }
    Так будет значительно быстрее Ж)
     
  3. systemio

    systemio New Member

    Публикаций:
    0
    Регистрация:
    18 мар 2008
    Сообщения:
    98
    нет нет нет. мне нужен именно мой изначальный вариант. дело не в скорости а в большом кол-ве открытия\закрытия потока. почему то именно мой вариант не работает - хотя вроде все правильно!?
     
  4. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    У меня работает нормально, в файле числа от 0 до 99999.
     
  5. scf

    scf Member

    Публикаций:
    0
    Регистрация:
    12 сен 2005
    Сообщения:
    386
    systemio
    попробуй std::ofstream os; внести в тело цикла.
    компилятор какой?
     
  6. systemio

    systemio New Member

    Публикаций:
    0
    Регистрация:
    18 мар 2008
    Сообщения:
    98
    ммм... сранно. кучу раз запускал - ниразу не выдал числа больше 30000. У мен МС2003.
     
  7. scf

    scf Member

    Публикаций:
    0
    Регистрация:
    12 сен 2005
    Сообщения:
    386
    MSVC60 - работает
    может места на диске нет? антивирус включен? на компе кривой руткит? =)
    давай екзешник
     
  8. systemio

    systemio New Member

    Публикаций:
    0
    Регистрация:
    18 мар 2008
    Сообщения:
    98
    вот экзешник - можете глянуть.
     
  9. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    У меня снова все числа.
     
  10. scf

    scf Member

    Публикаций:
    0
    Регистрация:
    12 сен 2005
    Сообщения:
    386
    Все числа.
    Попробуй в релиз скомпилить
     
  11. facelift

    facelift New Member

    Публикаций:
    0
    Регистрация:
    18 ноя 2008
    Сообщения:
    25
    systemio
    У меня все нормально. VS 2008. И в релизе и в дебаге.
     
  12. facelift

    facelift New Member

    Публикаций:
    0
    Регистрация:
    18 ноя 2008
    Сообщения:
    25
    И в 2003 все сработало и в дебаге и в релизе.
     
  13. systemio

    systemio New Member

    Публикаций:
    0
    Регистрация:
    18 мар 2008
    Сообщения:
    98
    только он почему то порциями отгружает числа. пару килобайт запишет - потупит - потом опять напишет.
     
  14. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    systemio
    наверное у тебя дело не в ofstream а в каком нибудь системном кешировании, которое видя что прога ерундой занимается не спешит реально записывать на диск :) Для обмена данными между процессами см. CreateFileMapping.
     
  15. systemio

    systemio New Member

    Публикаций:
    0
    Регистрация:
    18 мар 2008
    Сообщения:
    98
    Всем огромный Сэнкс!!!