برنامه نویسی 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 توسعه دهید.