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

C++

Войти
Регистрация
Восстановить пароль
 
Maxvarlamov
1 / 1 / 0
Регистрация: 25.01.2010
Сообщений: 18
#1

Файлы в С - C++

15.04.2010, 16:13. Просмотров 411. Ответов 3
Метки нет (Все метки)

Напишите, пожалуйста, программу для копирования содержимого одного файла в другой файл в обратном порядке (на С).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2010, 16:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Файлы в С (C++):

Файлы + структуры - C++
Люди, помогите очень нужна омощб к завтрашнему дню!!! Нужно написать вот такую программу: Для хранения данных о телевизорах описать...

Файлы в процедурах - C++
Подскажите пожалуйста, как правильно реализовать эту процедуру. robota(FILE fp; FILE fa) { student s; ...

Файлы *.lib и *.dll - C++
Привет всем! Вот решил начать писать проект и задался вопросом: как использовать *.lib и *.dll файлы? Я даже не знаю что в этих файлах...

С++(консоль)файлы,структуры - C++
1) массив 3 на 3 нужно найти строчку в которой максимальный элемент и заменить её на 0 пример 123 макс элемент 6 получаем 123 ну вот...

Как объединить файлы? - C++
Допустим, я хочу сделать программу на с++, интерфейс к ней на с#. Как это осуществить? Спасибо!

Разбиение проекта на файлы - C++
Добрый вечер. Пишу проект на винапи, в нем есть несколько классов с обьявлением и определением. Хотелось бы вынести код каждого класса в...

3
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
15.04.2010, 16:34 #2
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
#include <stdio.h>
#include <conio.h>
 
#define BUFSIZE 1000
 
int main(){
    clrscr();
 
    int i;
    char c;
    char buf[BUFSIZE];
 
    for(i = 0; i < BUFSIZE; i++)
        buf[i] = 0;
 
    FILE *fin;
    if((fin = fopen("1.txt", "r")) == NULL){
        fprintf(stderr, "Cannot open input file.\n");
        return 1;
    }
 
    i = 0;
    while(!feof(fin)){
        c = fgetc(fin);
        buf[i++] = c;
    }
    printf("%s", buf);
 
    fclose(fin);
 
    FILE *fout;
    if((fout = fopen("2.txt", "w")) == NULL){
        fprintf(stderr, "Cannot open output file.\n");
        return 1;
    }
 
 
    for(int j = i - 2; j >= 0; j--)
        fputc(buf[j], fout);
 
 
    fclose(fout);
 
    getch();
    return 0;
}
если нужно, то можно во время работы программы задавать пути к файлам:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char filename[100];
for(i = 0; i < 100; i++)
    filename[i] = 0;
......
printf("Enter path to file");
gets(filename);
fopen(filename, "r");
......
for(i = 0; i < 100; i++)
    filename[i] = 0;
printf("Enter path to file");
gets(filename);
fopen(filename, "w");
......
0
Maxvarlamov
1 / 1 / 0
Регистрация: 25.01.2010
Сообщений: 18
15.04.2010, 17:16  [ТС] #3
а как это сделать с использованием функции fseek и на C++? помогите пожалуйста
0
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
15.04.2010, 18:45 #4
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.h>
#include <fstream.h>
 
int main(){
    long i;
    char ch, filename[100];
 
    cout << "Enter path to file to read from: ";
        cin >> filename;
 
    ifstream fin(filename, ios::in | ios::binary);
    if(!fin){
        cout << "Imposiible to open file\n";
        return 0;
    }
 
    fin.seekg(0, ios::end);
    i = (long)fin.tellg();
    i--;
 
    cout << "Enter path to file to write to: ";
        cin >> filename;
 
    ofstream fout(filename);
    if(!fout){
        cout << "Imposiible to open file\n";
        return 0;
    }
 
    for(; i >= 0; i--){
        fin.seekg(i, ios::beg);
        fin.get(ch);
        fout << ch;
    }
 
    fin.close();
    fout.close();
    return 0;
}
единственное, что мне не нравится, так это то, что скорее всего '\n' переписывается вместе с содержимым и выводит в файл иероглиф (прямоугольник), ну вобщем вы сами увидите, нужно каким-то образом отменить это, времени мало, потому подумайте над этим сами
и ф-ция не fseek, a seekg(); (устанавливает указатель считывания соотв. файла в позицию, отстоящую на величину смещение от заданного места задание)
0
15.04.2010, 18:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2010, 18:45
Привет! Вот еще темы с ответами:

Как собрать файлы в директории? - C++
Привет всем! Пользователем в программе задаётся директория (начальная папка). Требуется собрать все звуковые файлы (формат mp3, wav) как...

Разбиение проекта CodeBlocks на файлы - C++
В общем, такая проблема. Писал класс строки, вроде все работало, но вот когда начал пытаться разбить проект на файлы, вылез лог с...

Как копировать залочены эксплорером файлы - C++
Интернет эксплорер загружая поточное видео (файлы с YouTube и пр. сайтов), в каталоге временных файлов создаёт временный flv файл, который...

bin-файлы: открытие, чтение, обработка - C++
Здравствуйте, подскажите, пожалуйста, команды, с помощью которых файлы с расширением bin можно не только открыть, но и увидеть, что в них...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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