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

функция копировки файлов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать проги на C http://www.cyberforum.ru/cpp-beginners/thread76840.html
1) Найти сумму целых положительных чисел 30<n>100, кратных 3 и оканчивающихся на 2.4 и 8. 2)Составить программу для вычисления значения с точностью до 10^(-6) ...
C++ Найти сумму элементов главной диагонали квадратной матрицы Помогите решить 2 задачки : 1) Найти сумму элементов находящихся на главной диагонали квадратной матрицы размером 3x3.Элементы массива вводятся с клавы. 2) Задать 2-x мерную матрицу с размером... http://www.cyberforum.ru/cpp-beginners/thread76836.html
C++ Удаление из списка
контрольная с бинарным файлом. вопрос: в работе мне надо удалить из созданного списка( структура:номера вызывающего и вызываемого абонентов (ЦЕЛЫЕ ОБЯЗАТЕЛЬНО ШЕСТИЗНАЧНЫЕ ЧИСЛА).....) номера...
Составить программу для вычисления значения C++
1) Найти сумму целых положительных чисел 30<n>100, кратных 3 и оканчивающихся на 2.4 и 8. 2)Составить программу для вычисления значения с точностью до 10^(-6) ...
C++ В квадратной матрице определить минимум среди элементов диагоналей http://www.cyberforum.ru/cpp-beginners/thread76828.html
3) В одномерном массиве, состоящем из n целых чисел, вычислить сумму положительных элементов расположенных после последнего нуля. 4) В одномерном массиве, состоящем из n целых чисел, вычислить...
C++ написать программу, которая считывает текст из файла и выводит на экран написать программу, которая считывает текст из файла и выводит на экран только те предложения, состоящие из заданного количества слов подробнее

Показать сообщение отдельно
niXman
Эксперт C++
3135 / 1447 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
20.12.2009, 00:26
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
#include <fcntl.h>                /** для O_CREAT, O_TRUNC                */
#include <errno.h>                /** для errno                                                */
#include <string.h>                /** для strerror()                                */
#include <stdio.h>                /** для fprintf()                                        */
#include <unistd.h>                /** основной хидер                                */
#include <sys/stat.h>        /** для stat(), struct stat        */
 
/** выводит пример использования программы */
void usage(const char* pn) {
        fprintf(stderr, "usage: %s <infile> <outfile>\n", pn);
}
 
/** основная функция */
int main(int argc, const char** argv) {
        if ( argc != 3 ) {
                usage(argv[0]);
                return 0;
        }
 
        /** структура содержащая информацию о файле */
        struct stat st;
        /** заполняем структуру информацией о файле */
        if ( stat(argv[1], &st) ) {
                /** если ошибка - сообщаем, завершаемся */
                fprintf(stderr, "ошибка: %s\n", (errno == ENOENT)?"файла не существует":strerror(errno));
                return errno;
        }
 
        /** открываем исходный файл для чтения */
        int infile = open(argv[1], O_RDONLY);
        if ( -1 == infile ) {
                /** если ошибка - сообщаем, завершаемся */
                fprintf(stderr, "ошибка: %s\n", strerror(errno));
                return errno;
        }
 
        /** создаем результирующий файл */
        int outfile = open(argv[2], O_CREAT|O_TRUNC, st.st_mode);
        if ( -1 == outfile ) {
                /** если ошибка - сообщаем, завершаемся */
                fprintf(stderr, "ошибка: %s\n", strerror(errno));
                close(infile);
                return errno;
        }
 
        /** временный буффер для копирования */
        char buff[BUFSIZ];
        /** кол-во прочитанных байт */
        int rd;
        
        /** цикл, повторяющийся до тех пор, пока не достигнут конец файла */
        /** читаем порцию данных */
        while ( (rd=read(infile, buff, sizeof(buff))) > 0 ) {
                /** записываем */
                write(outfile, buff, rd);
        }
 
        /** закрываем оба файла */
        close(infile);
        close(outfile);
 
        return 0;
}
вот. только что студенту написал))
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru