C++ Создание файла определенного размера

Вот моя текущая проблема: я пытаюсь создать файл размером x МБ на C++. Пользователь вводит имя файла, затем вводит число от 5 до 10 для размера файла, который он хочет создать. Позже в этом проекте я собираюсь сделать другие вещи с этим, но я застрял на первом шаге создания этой чертовой штуки.

Мой проблемный код (пока что):

        char empty[1024];
        for(int i = 0; i < 1024; i++)
        {
            empty[i] = 0;
        }

        fileSystem = fopen(argv[1], "w+");


        for(int i = 0; i < 1024*fileSize; i++){
            int temp = fputs(empty, fileSystem);
            if(temp > -1){
                //Sucess!
            }
            else{
                cout<<"error"<<endl;
            }
        }

Теперь, если я правильно посчитал, 1 символ равен 1 байту. В 1 КБ 1024 байта, а в МБ 1024 КБ. Значит, если мне нужен файл размером 2 МБ, то я должен записать в этот файл 1024*1024*2 байта. Да?

Я не встречаю никаких ошибок, но в итоге получаю файл размером 0 байт... Я не уверен, что я делаю неправильно, поэтому любая помощь будет очень признательна!

Спасибо!

7
задан OmegaTwig 25 October 2011 в 21:19
поделиться