- •Урок 1: Создание среды программирования, глава 1
- •Урок 1: Создание среды программирования, глава 2
- •Урок 1: Создание среды программирования, глава 3
- •Урок 1: Создание среды программирования, глава 4
- •Урок 1: Создание среды программирования, глава 5
- •Урок 2: Создание первой собственной программы, глава 1
- •Урок 2: Создание первой собственной программы, глава 2
- •Урок 2: Создание первой собственной программы, глава 3
- •Урок 3: Шпаргалки для начинающих программистов, глава 1
- •Урок 3: Шпаргалки для начинающих программистов, глава 2
- •Урок 3: Шпаргалки для начинающих программистов, глава 3
- •Урок 4: Простейшие способы обработки изображений, глава 1
- •Урок 4: Простейшие способы обработки изображений, глава 2
- •Урок 4: Простейшие способы обработки изображений, глава 3
- •Урок 4: Простейшие способы обработки изображений, глава 4
- •Урок 4: Простейшие способы обработки изображений, глава 5
- •Урок 5: Новые методы программирования на psp, глава 1
- •Урок 5: Новые методы программирования на psp, глава 2
- •Урок 5: Новые методы программирования на psp, глава 3
- •Урок 5: Новые методы программирования на psp, глава 4
- •Урок 5: Новые методы программирования на psp, глава 5
- •Урок 6: Добавление звука в программу, глава 1
- •Урок 6: Добавление звука в программу, глава 2
- •Урок 6: Добавление звука в программу, глава 3
- •Считывание всего файла, глава 1
- •Считывание всего файла, глава 2
- •Считывание всего файла, глава 3
- •Считывание всего файла, глава 4
- •Считывание всего файла, глава 5
Считывание всего файла, глава 4
Четвертая часть учебных материалов, размещенных harleyg на форуме PSP-Programming.com (первоначально опубликованные под заголовком «Общий C код»).
Далее выведем на экран содержание буфера/файла:
printf("%s\\n", buffer);
Данный оператор позволяет вывести буфер на экран. Если вы чего-то не понимаете, посмотрите предыдущие главы, либо другие учебные руководства по Си. Затем освобождаем выделяемую ранее память:
free(buffer);
Функция free используется для освобождения памяти, которую мы выделяли. Требуется один параметр, переменная, для этой операции. И в завершении поток возвращает ноль, что говорит об успешном выполнении задач до этого момента. А также символизирует окончание основной функции:
sceKernelSleepThread(); return 0; }
И наконец, закрывающейся скобкой завершаем основную функцию. Ваш конечный код должен быть выглядеть так:
#include <pspkernel.h> #include <pspdebug.h> #include <stdio.h> #include <stdlib.h>
#define printf pspDebugScreenPrintf
/*Здесь должен быть обратный вызов. */
int main (void) { pspDebugScreenInit(); SetupCallbacks();
FILE * pFile; long lSize; char * buffer;
pFile = fopen ( "myfile.txt" , "rb" );
if (pFile==NULL) sceKernelExitGame();
fseek (pFile , 0 , SEEK_END); lSize = ftell (pFile); rewind (pFile);
buffer = (char*) malloc (lSize);
if (buffer == NULL) sceKernelExitGame();
fread (buffer,1,lSize,pFile);
fclose (pFile);
printf("%s\\n", buffer);
free (buffer);
sceKernelSleepThread(); return 0; }
Остался последний шаг — Makefile, но об этом в следующей, заключительной, главе…
Считывание всего файла, глава 5
Третья часть учебных материалов, размещенных harleyg на форуме PSP-Programming.com (первоначально опубликованные под заголовком «Общий C код»).
Вам необходим стандартный Makefile (поместите его в новый текстовый файл, названный «Makefile» без расширения):
TARGET = file1 OBJS = main.o
CFLAGS = -O2 -G0 -Wall CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti ASFLAGS = $(CFLAGS)
EXTRA_TARGETS = EBOOT.PBP PSP_EBOOT_TITLE = File Input Tutorial 1
PSPSDK=$(shell psp-config —pspsdk-path) include $(PSPSDK)/lib/build.mak
После этого напечатайте «make» в CYGWIN, и все установлено. За исключением одного момента. Вам нужен текстовый файл. Поэтому откройте блокнот и что-нибудь напечатайте, далее сохраните как «myfile.txt» (без кавычек) и поместите в каталог EBOOT на ваш PSP. Поздравляем, вы только что прочитали файл в Си. Теперь вы можете использовать навыки для чтения в настройках вашей программы и иметь внешние данные. Это может быть полезно для создания программ, необходимых для пользовательской конфигурации. Вы можете изменить конфигурацию без перекомпилирования файла! Скоро появятся новые уроки по «Файловому вводу-выводу», ждите более усовершенствованных тем и методов.
Не забудьте подписаться на RSS нашего сайта (или хотя бы занести сайт в закладки в браузере), чтобы быть в курсе и не пропустить обновления нашего курса.
Если вам понравились эти уроки и у вас есть лишняя пара баксов, вы можете отблагодарить автора или соавторов курса Или, если у вас есть свой веб-сайт, разместите ссылку на этот урок.
