Скопировать файл Word

 
0
 
C++
ava
cppGhost | 26.09.2013, 20:11
Здравствуйте, хочу считать содержимое файла word и потом записать это содержимое в другой файл. Делаю так

int x = 0;
std::ifstream file (exePath + orignFile, std::ios::binary|std::ios::in);
file.read((char*)&x, sizeof(x));
file.close();

std::ofstream out(exePath + newFile, std::ios::binary|std::ios::out);
out.write((char*)&x, sizeof(x));
out.close();


однако, при таком прямом копировании файл нормально не открывается. word говорит, мол он поврежден. Не стоит предлагать просто копировать файл, так как задача немного шире и это лишь первый шаг. Буду рад помощи.
Comments (3)
ava
akizelokro | 26.09.2013, 19:30 #
Я не вижу массива, динамически выделенного в количестве байт, равному размеру файла, куда записывается входной файл и откуда считывается выходной.
ava
cppGhost | 26.09.2013, 19:58 #
Ой, да. Это я погорячился

std::string line;    
std::ifstream file (exePath + orignFile, std::ios::binary|std::ios::in);    
std::ofstream out(exePath + newFile, std::ios::binary|std::ios::out);
    
if(file.is_open())
{
    while(file.good())
    {
        std::getline(file, line);
        out << line << std::endl;
    }

    file.close();
    out.close();
}


но так все равно не выходит
ava
vinter | 26.09.2013, 20:47 #
Вы открываете файл в бинарном режиме, а читаете и пишите его как текстовый.  Используйте read/write методы ifstream/ofstream соответственно для чтения и записи. В качестве буфера используйте std::vector<char>
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit