2 * (c) Oleg Puchinin 2006
3 * graycardinalster@gmail.com
7 Доступ к файловой системе.
9 Пример номер Ф-001. Базовые операции.
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); // закрытие файла
33 Пример номер Ф-002. Базовые операции на базе libc.
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); // закрыть файл
49 Пример номер Ф-003. Операции с директориями.
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); // закрыть директорию
60 Пример номер Ф-004. Базовые операции на базе Qt3
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(); // закрыть объект - файл