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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
wesleepforever
0 / 0 / 0
Регистрация: 27.06.2011
Сообщений: 13
#1

копирование файла - C++

27.06.2011, 23:34. Просмотров 1329. Ответов 8
Метки нет (Все метки)

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

копирование файла - C++
недавно изучаю С++, собственно столкнулся с проблемой при копировании из одного файла в другой. проблема заключается в дублировании...

Копирование файла C++ - C++
Привет всем. У меня проблема такого рода, пытаюсь скопировать файл, и все вроде получается, за исключением того, что в конец файла...

Копирование файла - C++
Делаю программку для копирование файла настроек оперы с\на разные операционые системы. Для копирование я узнаю имя пользователя для это я...

Копирование файла C++ - C++
Всем Доброго вечера, хочу написать программу для копирования настроек браузера с комп на комп. Все компилируется, но файл не копируется,...

Копирование файла - C++
и если есть, как осуществить копирование нетипизированного файла в С++? вот это копирует слово с текстового файла 1 в текстовый файл...

Копирование файла - C++
Задача: Из исходного файла скопировать в новый файл текст таким образом, чтобы все символы, стоящие перед "*" были заменены на символ...

8
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
27.06.2011, 23:43 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <fstream>
#include <iostream>
#include <conio.h>
using namespace std;
 
void main(void) {
    fstream   fp_in("input.txt", ios_base::in);
    fstream   fp_out("output.txt",  ios_base::out);
 
    char buffer[1024];
    while(!  fp_in.eof() ) {
            fp_in.getline(buffer, sizeof(buffer), '\n');
            if( strlen(buffer) > 0 ) {
                 fp_out.write(buffer, strlen(buffer));
                 fp_out.put('\n');
            }
    }
    fp_in.close();
    fp_out.clear();
 
      cin.get();
}
0
kreedz
6 / 6 / 1
Регистрация: 29.11.2009
Сообщений: 100
30.06.2011, 21:08 #3
Эта программка должна скопировать первый файл во второй файл.
Файлы текстовые. Язык Си.
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
#include <stdio.h>
 
void filecopy(FILE*, FILE*);
 
int main() {
    FILE *in = fopen("from.txt", "r"), *out = fopen("to.txt", "w");
    
    if (in == NULL || out == NULL) {
        printf("Can't open files\n");
        return 1;
    }
 
    filecopy(in, out);
    
    fclose(in);
    fclose(out);
    
    return 0;
}
 
void filecopy(FILE *ifp, FILE *ofp) {
    int c;
    
    while ((c = gets(ifp)) != EOF) 
        putc(c, ofp);
}
Ошибки:
копирование файла

Эту программку переделывал из этой (книга Керригана и Ритчи, глава 7.5, реализация утилиты cat):
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
#include <stdio.h>
 
int main(int argc, char *argv[]) {
    FILE *fp;
    void filecopy(FILE *, FILE *);
    
    if (argc == 1) filecopy(stdin, stdout);
    else    while (--argc > 0)
                if ((fp = fopen(*++argv, "r")) == NULL) {
                    printf("Can't open %s\n", *argv);
                    return 1;
                } else {
                    filecopy(fp, stdout);
                    fclose(fp);
                }
                
    return 0;
}
 
void filecopy(FILE *fp, FILE *ofp) {
    int c;
    
    while ((c = getc(fp)) != EOF) putc(c, ofp);
}
Вторая работает, естественно, без ошибок, а моя, переделанная, с ошибками.
Кто, что подскажет?
0
grizlik78
Эксперт С++
1971 / 1464 / 122
Регистрация: 29.05.2011
Сообщений: 3,029
30.06.2011, 21:22 #4
во второй используется getc, а в первой почему-то gets, хотя там должна быть та же getc
1
Protected_fleur
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 77
30.06.2011, 21:52 #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
main ()
{ 
 
char s[4096]; /*Символьный массив*/
FILE *fl1, *fl2; /*Указатель на файл*/
fl1 = fopen ("input.txt", "r+"); /*Открытие файла для записи и чтения*/
fl2 = fopen ("output.txt", "w+"); /*Создание файла для записи и чтения*/
while (NULL != fgets (s,4096,fl1)) /*Чтение строк файла*/
{
      fprintf (fl2, "%s", s); /*Вывод строк в файл*/
}
fclose(fl1); /*Закрытие файла*/
fclose(fl2); /*Закрытие файла*/
 
getch();
return 0;
}
вот прога, копирует из текстового файла в новый файл
0
grizlik78
Эксперт С++
1971 / 1464 / 122
Регистрация: 29.05.2011
Сообщений: 3,029
30.06.2011, 21:57 #6
Protected_fleur, а зачем оба файла открывать для записи и чтения?
0
Protected_fleur
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 77
30.06.2011, 22:00 #7
Цитата Сообщение от Protected_fleur Посмотреть сообщение
fl1 = fopen ("input.txt", "r+");
ну да здесь можно и без +
0
grizlik78
Эксперт С++
1971 / 1464 / 122
Регистрация: 29.05.2011
Сообщений: 3,029
30.06.2011, 22:04 #8
Так и во втором тоже можно без +. Я к тому, что программист (не в смысле профессии, а автор программы) должен чётко выражать свои намерения. И если из файла будут только читать, то не стоит открывать его ещё и для записи. И наоборот.

Не по теме:

Ну да, занудствую немного

0
Protected_fleur
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 77
30.06.2011, 22:08 #9
я писала ее давно, если уж так))) а тогда и для меня это было кошмаром что с плюсиками, что без них)))
но в дальнейшем буду стараться четко выражать идею)))
0
30.06.2011, 22:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2011, 22:08
Привет! Вот еще темы с ответами:

Копирование из оного файла в др. - C++
Вся задача состоит не в этом, но для начала я решил сделать хотя бы, что бы числа копировались из одного файла в другой. Тесть есть...

Структуры, копирование файла - C++
Подскажите, как написать программку с меню с пунктами: – посимвольное копирование файла; – построчное копирование файла; ...

Копирование строк с файла - C++
Есть прога которая находит наименьшее слово в файле(находит). #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include...

Копирование данных из файла в файл - C++
Здравствуйте! Нужно организовать копирование данных из одного файла в другой в бинарном режиме. При выполнении программы в выходной...


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

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

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