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

Системный вызов sendfile() - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать прогу, которая должна вызываться при запуске какой-то программы с CD-ROM http://www.cyberforum.ru/cpp/thread8809.html
Приветствую участников форума! Надеюсь на вашу помощь, поскольку куда обратиться еще я не знаю. Смысл в том, чтобы написать прогу, которая должна вызываться при запуске какой-то программы с CD-ROM. Затем эта программа должна определить, можно ли ей запускаться или нет, путем определения где она находится. Короче если прога пытается запуститься с диска, ей это позволяется, если откуда-то еще, то...
C++ Задача на длинную арифметику нужно вычислить 100! + 2^100 (2 в степени 100) и в результате сохранить все цифры. http://www.cyberforum.ru/cpp/thread8804.html
Visual C++ Помогите вызвать метод из другого класса?
есть три класса: CServer CMainWnd CMyApp как мне увидеть результат работы сервера(CServer) в классе CMainWnd, где имеется ListBox. хотел сделать распечатку принятых сообщений методом ListBox.AddString . как ни крутил, ну ни как не видно из обьекта theApp никаких элементов окна из CMainWnd, только указатель m_pManiWnd, а дальше глухо.
Перегрузка операций C++
помогите с написанием надстройки для класса int с перегрузкой всех операторов и предусмотрением выхода за диапазон int очень надо и очень срочно есть часть кода надо доделать и немного изменить.... может кто поможет а то я не усписваю пжалсты #include <stdlib.h> #include <conio.h> #include <stdio.h> #include <IOSTREAM.H> //перегруженны операции инта: /* 1.= перегрузить осталось: ...
C++ Сложное условие завершение цикла http://www.cyberforum.ru/cpp/thread8539.html
ВЫЧИСЛЕНИЕ ЗАДАННОЙ ФУНКЦИИ РАЗЛОЖЕНИЕМ ЕЕ В РЯД С ИСПОЛЬЗОВАНИЕМ РЕКУРСИИ (ЗАДАНИЕ П.8) Составить программу вычисления заданной математической функции пу- тем разложения ее в ряд. Программа должна применять рекурсивную функцию для вычисления суммы ряда с заданной точностью ε . Для оценки правильности вычисления суммы ряда в программе следует также предусмотреть вычисление математической...
C++ Код для сортировки любых слов помогите переделать сей код для сортировки любых слов.. Код: typedef struct slist_ { long val; struct slist_ *next; } slist; // функция сортировки возвращает указатель на начало отсортированного списка slist *radix_list(slist *l, int t) { // t - разрядность (максимальная длина числа) int i, j, d, m=1; подробнее

Показать сообщение отдельно
Mikrit
Сообщений: n/a
05.06.2008, 16:55     Системный вызов sendfile()
Народ помогите почему может не работать sendfile() ????
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
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <stdlib.h>
#include <sys/sendfile.h>
#include <sys/stat.h>
 
int main (int argc, char** argv)
{
  int src;               /* file descriptor for source file */
  int dest;              /* file descriptor for destination file */
  struct stat stat_buf;  /* hold information about input file */
  off_t offset = 0;      /* byte offset used by sendfile */
  int rc;                /* return code from sendfile */
 
  /* check for two command line arguments */
  if (argc != 3) {
    fprintf(stderr, "usage: %s <file> <copy>\n", argv[0]);
    exit(1);
  }
 
  /* check that source file exists and can be opened */
  src = open(argv[1], O_RDONLY);
  if (src == -1) {
    fprintf(stderr, "unable to open '%s': %s\n", argv[1], strerror(errno));
    exit(1);
  }
 
 /* get size and permissions of the source file */
  fstat(src, &stat_buf);
 
  
 
 /* open destination file */
  dest = open(argv[2], O_RDWR | O_CREAT);
  if (dest == -1) {
    fprintf(stderr, "unable to open '%s': %s\n", argv[2], strerror(errno));
    exit(1);
  }
 
  printf("-=src=%d=-\n", src);
  printf("-=dest=%d=-\n", dest);
  printf("-=sixe=%d=-\n", stat_buf.st_size);
  
 /* copy file using sendfile */
 rc = sendfile (dest, src, &offset, stat_buf.st_size);
 if (rc == -1) {
    fprintf(stderr, "error from sendfile: %s\n", strerror(errno));
    exit(1);
 }
 if (rc != stat_buf.st_size) {
   fprintf(stderr, "incomplete transfer from sendfile: %d of %d bytes\n",
           rc,
           (int)stat_buf.st_size);
   exit(1);
 }
 
 /* clean up and exit */
 close(dest);
 close(src);
 
 return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru