Считывание всего файла, глава 1

Учебные материалы, размещенные harleyg на форуме PSP-Programming.com (первоначально опубликованные под заголовком «Общий C код»).

В этой серии учебного руководства мы рассмотрим основные моменты считывания данных с диска C.

Мы будем использовать следующие функции: fopen, fread, fseek fclose, fgetc, malloc. А также будем применять общую математику и переменные.

Это первое учебное руководство, рассказывающее о выводе информации на экран. Мы научимся считывать в память весь файл, выводить содержимое на экран и завершать файл. Все это позволит вам получить основные знания о файловом вводе/выводе, которые нам пригодятся в последующих частях учебных материалов.

Во-первых, нам необходимо использовать некоторые операторы, поэтому откройте тот текстовый редактор, который вы предпочитаете (ни на чем не настаиваю), и создайте новый файл, присвоив имя main.c. Теперь введите в текстовом редакторе:

#include <pspkernel.h>
#include <pspdebug.h>
#include <stdio.h>
#include <stdlib.h>

Они включают следующее:
pspkernel.h и pspdebug.h: для получения информации о них ознакомьтесь с учебным руководством по программированию на PSP.
stdio.h: «стандартный заголовочный файл ввода-вывода»; файл библиотеки языка программирования Си, которая содержит функции для управления стандартными операциями ввода-вывода.
stdlib.h: «стандарт общего назначения», это файл библиотеки языка программирования Си, включающей функции, которые занимаются выделением памяти, управлением процессами, преобразованием и др.
Так, ладно, уже достаточно о том, что они содержат. Я вижу, вы на меня смотрите… как-то не по-доброму.
Здесь мы стандартно вставляем функции обратного вызова и определяем набор значений. Для получения информации об этом ознакомьтесь с учебным руководством по программированию на PSP.

#define printf pspDebugScreenPrintf /* Exit callback */
int exit_callback(int arg1, int arg2, void *common) {
sceKernelExitGame();
return 0;
}

/* Callback thread */
int CallbackThread(SceSize args, void *argp) {
int cbid;

cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback(cbid);

sceKernelSleepThreadCB();

return 0;
}

/* Sets up the callback thread and returns its thread id */
int SetupCallbacks(void) {
int thid = 0;

thid = sceKernelCreateThread("update_thread", CallbackThread, 0×11, 0xFA0, 0, 0);
if(thid >= 0) {
sceKernelStartThread(thid, 0, 0);
}

return thid;
}

Продолжим урок во второй части.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: