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

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

Сейчас запускаем свою основную функцию:

int main(void) {
pspDebugScreenInit();
SetupCallbacks();

int означает integer, используется для именования любого типа данных, который может быть представлено некоторым множеством целых чисел.
void — используется, потому что в более ранних версиях Си функции, не возвращающие значения, принимали значение по умолчанию «int» и функции без параметров имели пустой список параметров. Нетипизированные указатели объявлялись как целые числа или указатель на «char».
{ — используется для того, чтобы показать запуск функции.
Для дополнительной информации (о следующих двух строках) вы можете обратиться к предыдущим разделам данного учебного пособия по программированию на PSP.

Далее объявим некоторые переменные:

FILE * pFile;
long lSize;
char * buffer;

FILE: мы применяем это ключевое слово для указания того, что переменная pFile является указателем файла («file pointer «).
long: такой же тип данных, что и int. Диапазон также совпадает: от -2,147,483,648 до +2,147,483,647.
Обычно я использовал int, но в этом учебном руководстве, думаю, будет правильным представить тип данных long. Об int рассказывалось ранее. long может хранить большие числа по сравнению с int, но в то же время занимает большее количество памяти (такая вот альтернатива).
char*: используется для объявления переменной «buffer «. Он может содержать буквы (a-z, A-Z, символы, числа, и т.д.).

После этого мы передаем переменной pFile некоторую информацию:

pFile = fopen ("myfile.txt", "rb");

pFile – это переменная, которую мы уже ранее превращали в «file pointer «.
= — оператор присваивания устанавливает «foo» равным «bar» (foo = bar).
fopen – это функция в Си, которая используется для того, чтобы открыть файл (file open). Требуется два параметра: «filename» и «mode «.
«myfile.txt» – первый параметр «filename «.
rb включает два режима, которые мы используем:
r – открывает двоичный файл для чтения. Файл должен существовать.
b – двоичный (бинарный) режим. Сдвигается на последний байт файла (на конец файла). Никаких преобразований.
Функция fopen устанавливает все для считывания. Затем она возвращает идентификатор файла (то, что pFile хранит). Теперь мы можем получить доступ к файлу, просто открыв его с помощью обращения к переменной «pFile «.
Теперь мы должны проверить, имеет ли файл какие-то данные. Сделаем это так:

if (pFile==NULL) sceKernelExitGame();

Оператор if может использоваться для сравнения значения переменных (например, в случае равенства «foo» и «bar «).
(…) — сравниваются значения в круглых скобках. Если это оценивается как «true» (истина), то следующий код выполняется.

== — оператор сравнения. Он оценивает выражение как «true» (истина), если два параметры, по обе стороны от = =, равны друг другу. Обратите внимание на различие между оператором присваивания (=) и оператором сравнения (= =).
NULL означает «пусто», или «ничто», или «нет множества».
sceKernelExitGame() завершает процесс (или выходит из программы).
Итак, процесс закончен, если оператор выдает фразу на английском: «if pFile is empty, exit the program «.

Заканчиваем вторую часть, переходим к третьей.


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



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