Add very old versions (for history).
[opsoft_archive.git] / silentbob / silentbob-1.4 / gclib / doc / filesystem.txt
blobfb21ad3033b3bef6aff1951869bce1bd7ee25db8
1 /*
2  * (c) Oleg Puchinin 2006
3  * graycardinalster@gmail.com
4  *
5  */
7         Доступ к файловой системе.
9 Пример номер Ф-001. Базовые операции.
10 <code>
11 #include <stdio.h>
12 #include <stdlib.h>
13 #include <fcntl.h>
15 int fd;
16 int fd2;
17 int f_size;
18 char m_buf[4096];
20 fd = open ("/dev/zero", O_RDWR);                // открытие файла на чтение
21 fdsize (fd);                                    // получение размера файла
22 fsize ("/dev/zero");                            // получение размера файла
23 DIONREAD (fd);                                  // количество доступных байт
24 read (fd, m_buf, 100);                          // чтение ста байт
25 lseek (fd, SEEK_CUR, -100);                     // вернуться на сто байт назад
26 write (fd, m_buf, 100);                         // запись ста байт
27 DFMAP (fd);                                     // mmap'нуть весь файл.
28 DFMAP ("/dev/mem", &fd2, &f_size);              // mmap'нуть весь файл, получить дескриптор и размер
29 close (fd);                                     // закрытие файла
30 close (fd2);                                    // закрытие файла
31 </code>
33 Пример номер Ф-002. Базовые операции на базе libc.
34 <code>
35 FILE * d_file;
36 char m_buf[4096];
37 int i;
39 d_file = fopen ("/dev/zero", "rw");             // открытие файла
40 fileno (d_file);                                // получить дескриптор файла
41 fread (m_buf, 100, 1, d_file);                  // чтение ста байт
42 fwrite (m_buf, 100, 1, d_file);                 // запись ста байт
43 fgets (m_buf, 4095, d_file);                    // прочитать строку
44 fputc ('C', d_file);                            // записать символ 'C' в файл
45 fscanf (d_file, "%i", &i);                      // прочитать целочисленное чило
46 fclose (d_file);                                // закрыть файл
47 </code>
49 Пример номер Ф-003. Операции с директориями.
50 <code>
51 #include <dirent.h>
52 DIR * d_dir;
53 struct dirent * d_dirent;
54 d_dir = opendir ("/");                          // открыть директорию
55 d_dirent = readdir (d_dir);                     // прочитать одну запись
56 printf ("%s\n", d_dirent->d_name);              // вывести имя файла
57 closedir (d_dir);                               // закрыть директорию
58 </code>
60 Пример номер Ф-004. Базовые операции на базе Qt3
61 <code>
62 QStringList lines;                              // список строк
63 QFile file( "file.txt" );                       // объект - файл
64 file.open( IO_ReadOnly );                       // открыть на чтение
65 file.size ();                                   // получить размер
66 file.readBlock (buf, 100);                      // чтение ста байт
67 QTextStream stream( &file );                    // объект - текстовые данные
68 QString line;                                   // строка
69 line = stream.readLine();                       // прочитать строку 
70 lines += line;                                  // добавить строку к списку
71 file.close();                                   // закрыть объект - файл
72 </code>