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

Перемещение файлов - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Tramtararam
1 / 1 / 0
Регистрация: 26.11.2010
Сообщений: 21
01.12.2010, 13:41     Перемещение файлов #1
Кто-нибудь, помогите с задачей. Очень прошу. Или подскажите, как можно с ней разобраться.


Суть задачи:
После того, как произошло разбиение основного файла на 8 частей(файлов) с расширением .txt, необходимо автоматически перенести их в другую папку. Например из in в out. Плюс к этому должна присутствовать возможность менять расширение файлов. Файлы бинарные.

Вот код проги:

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include "stdafx.h"
#include <stdio.h> 
#include <conio.h>
#include <iostream>
#include <bitset>
#include <fstream>
using namespace std;
 
int main()
{
        _wsetlocale( LC_ALL, L"Russian_Russia.ACP" ); 
 
        char buffer[512];
        char f0[160];
 
        ifstream in ("test.txt", ios::in | ios::binary);
        if(!in) 
        {
                cout << "Не удаётся открыть файл.\n";
                return 1;
        }
        ofstream out ("test2.txt", ios::out | ios::binary);
        if(!out) 
        {
                cout << "Не удатся открыть файл.\n";
                return 1;
        }
 
    char fname[100];
        FILE *ofp[8];
        int z;
        for (z = 0; z < 8; z++) 
        {
        sprintf(fname, "file%02d.txt", z);
        if ((ofp[z] = fopen(fname, "wb")) != NULL);
            
    }
 
                do {
                        in.read(buffer, sizeof(buffer));
                        
                        for(int i=0; i<3; i++)
                        {
                                memcpy(f0, buffer + 8 + 12*(i+1) + 156*i, 156);
                                out.write(f0, 160);
                                char a[22];
 
                                for(int y=0; y<8; y++)
                                {
                                        memcpy(a, f0+(int)(19.5*y), 21);
 
                                        if(y%2)
                                        {
                                                for(int x=0; x<20; x++)
                                                {
                                                        a[x] >>=4;
                                                        a[x] |= a[x+1] << 4;
                                                }
                                        }
                                                fwrite(a, sizeof(char), 20, ofp[y]);
                                }
                        }       
 
                } while(!in.eof());
        
     _fcloseall();
        in.close();
        out.close();
 
        return 0;
}
Добавлено через 2 минуты
Пытался использовать функцию MoveFile(), но почему то не работает...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2010, 13:41     Перемещение файлов
Посмотрите здесь:

Перемещение файла C++
Перемещение файлов C++
Перемещение масива C++
перемещение робота C++
Перемещение курсора C++
Сравнить содержимое файлов между собой, и если оно совпадает, то вывести на экран имена этих файлов C++
Перемещение объекта C++
C++ Перемещение по плоскости

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
01.12.2010, 14:32     Перемещение файлов #2
Tramtararam, man rename
RTFM MoveFile
Tramtararam
1 / 1 / 0
Регистрация: 26.11.2010
Сообщений: 21
01.12.2010, 15:03  [ТС]     Перемещение файлов #3
Спасибо, за подсказки))) Эти сайты посещал. Пока в процессе...
Yandex
Объявления
01.12.2010, 15:03     Перемещение файлов
Ответ Создать тему
Опции темы

Текущее время: 22:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru