پرش به محتوا

برنامه نویسی PSP/سیستم پرونده‌ها

ویکی‎کتاب، کتابخانهٔ آزاد

صفحه ۶ ►◄ برنامه نویسی PSP ►◄ صفحه ۸


مقدمه

[ویرایش]

در برنامه‌نویسی برای کنسول PSP، مدیریت فایل‌ها و پوشه‌ها نقش مهمی در ذخیره و بازیابی داده‌ها دارد. آشنایی با سیستم فایل‌های مورد استفاده در PSP و نحوه کار با آن‌ها از مهم‌ترین مباحثی است که هر برنامه‌نویس PSP باید بر آن مسلط باشد.

سیستم فایل FAT32

[ویرایش]

PSP از سیستم فایل FAT32 برای مدیریت داده‌ها روی حافظه‌های Memory Stick استفاده می‌کند. این سیستم فایل به شما امکان می‌دهد تا فایل‌های خود را به صورت منظم در پوشه‌ها سازماندهی کنید و به آن‌ها دسترسی داشته باشید.

ساختار FAT32

[ویرایش]

سیستم فایل FAT32 از جداولی برای مدیریت بلوک‌های حافظه استفاده می‌کند. هر فایل یا پوشه یک موقعیت مشخص در حافظه دارد که در این جداول ذخیره می‌شود. در PSP، پوشه‌ها و فایل‌ها در دایرکتوری‌های مختلفی مانند "PSP/GAME" و "MUSIC" قرار می‌گیرند.

محدودیت‌ها

[ویرایش]
  • حجم فایل: سیستم فایل FAT32 تنها از فایل‌هایی با حداکثر حجم 4 گیگابایت پشتیبانی می‌کند.
  • نام‌گذاری: نام فایل‌ها و پوشه‌ها باید از کاراکترهای مجاز و با طول مشخص (حداکثر 255 کاراکتر) استفاده کنند.

ساختار پوشه‌ها در PSP

[ویرایش]

در PSP، ساختار پوشه‌ها به صورت پیش‌فرض تعیین شده است. برنامه‌نویسان باید با این ساختار آشنا باشند تا بتوانند به درستی فایل‌های خود را مدیریت کنند.

پوشه‌های پیش‌فرض

[ویرایش]
  • PSP/GAME: این پوشه برای ذخیره بازی‌ها و نرم‌افزارهای خانگی (Homebrew) استفاده می‌شود.
  • PSP/MUSIC: فایل‌های موسیقی در این پوشه ذخیره می‌شوند.
  • PSP/VIDEO: این پوشه برای ذخیره ویدئوها استفاده می‌شود.
  • PSP/PHOTO: تصاویر در این پوشه قرار می‌گیرند.

دسترسی به فایل‌ها با کدنویسی

[ویرایش]

برای دسترسی به فایل‌ها و پوشه‌ها در PSP، می‌توانید از توابع استاندارد C برای کار با فایل‌ها استفاده کنید. در ادامه، نحوه استفاده از این توابع برای خواندن و نوشتن فایل‌ها آورده شده است.

باز کردن فایل‌ها

[ویرایش]

برای باز کردن یک فایل در PSP، می‌توانید از تابع `fopen` استفاده کنید. این تابع دو پارامتر می‌پذیرد: مسیر فایل و نحوه دسترسی (خواندن، نوشتن، و غیره).

FILE *file;
file = fopen("ms0:/PSP/GAME/data.txt", "r");
if (file == NULL) {
    printf("فایل یافت نشد!\n");
}

خواندن از فایل

[ویرایش]

برای خواندن داده از فایل، می‌توانید از تابع `fread` استفاده کنید. این تابع داده‌ها را از فایل به یک بافر مشخص منتقل می‌کند.

char buffer[256];
fread(buffer, sizeof(char), 255, file);
printf("محتوای فایل: %s\n", buffer);

نوشتن در فایل

[ویرایش]

برای نوشتن داده‌ها در یک فایل، از تابع `fwrite` استفاده کنید. این تابع داده‌ها را از بافر به فایل منتقل می‌کند.

FILE *file;
file = fopen("ms0:/PSP/GAME/data.txt", "w");
char data[] = "Hello PSP!";
fwrite(data, sizeof(char), strlen(data), file);
fclose(file);

بستن فایل‌ها

[ویرایش]

بعد از اتمام کار با فایل‌ها، حتماً باید آن‌ها را با تابع `fclose` ببندید تا منابع آزاد شوند.

fclose(file);

مدیریت پوشه‌ها

[ویرایش]

علاوه بر فایل‌ها، می‌توانید پوشه‌ها را نیز در PSP مدیریت کنید. برای مثال، می‌توانید پوشه‌های جدید ایجاد کرده یا پوشه‌های موجود را حذف کنید.

ایجاد پوشه جدید

[ویرایش]

برای ایجاد یک پوشه جدید، از تابع `sceIoMkdir` استفاده می‌شود.

sceIoMkdir("ms0:/PSP/NEW_FOLDER", 0777);

حذف پوشه

[ویرایش]

برای حذف یک پوشه، از تابع `sceIoRmdir` استفاده کنید.

sceIoRmdir("ms0:/PSP/NEW_FOLDER");

نتیجه‌گیری

[ویرایش]

مدیریت فایل‌ها و پوشه‌ها یکی از بخش‌های کلیدی در برنامه‌نویسی PSP است. با استفاده از توابع استاندارد و همچنین توابع خاص PSP، می‌توانید به راحتی داده‌ها را ذخیره، بازیابی و مدیریت کنید. این توانایی به شما امکان می‌دهد تا برنامه‌های کارآمدتری برای PSP توسعه دهید.