چگونه می تونم با نوشتن یک برنامه در c خصوصیات یک فایل را نمایش بدهم البته منظورم از خصوصیات داده های داخل آن نیست منظورم ساختار فایله که با درس سیستم وساختار فایلها مرتبطه .![]()
باتشکر
چگونه می تونم با نوشتن یک برنامه در c خصوصیات یک فایل را نمایش بدهم البته منظورم از خصوصیات داده های داخل آن نیست منظورم ساختار فایله که با درس سیستم وساختار فایلها مرتبطه .![]()
باتشکر
سلام.
در مورد سوالتون بیشتر توضیح بدید.
یک ساختار یک فایل به دوشکل منطقی و فیزیکی وجود داره. اگه منظور شما رو درست متوجه شده باشم
میخواید خصوصیات یک فایل مثلا size , type ,.... رو بدست بیارید. اگه بخواید از API استفاده نکنید راهی که
وجود داره اینه :
فایل مورد نظرتون رو در binary-mode باز کنید و از offset صفر شروع به خوندن فایل مورد نظر میکنید.
و مقدایر این offset ها رو در Header فایل چک میکنید. مثلا در offset1 و offset2 دو کاراکتر اسکی قرار گرفته
که نوع فایل رو مشخص میکنه. و به همین ترتیب... بازم میگم سوالتون واضح نیست.
someone عزیز در مورد هر دو راهنمایت مچکرم منظورم صفات خاصه فایل مثل آدرس شروع فایل و آدرس پایان فایل است که فکر می کنم جوابش همینه اما اگر لطف کنی و بگی دقیقا چیکار کنم مچکر می شوم.
دوباره سلام.
میتونید به این نمونه نگاه کنید که در مورد فایل های exe هستش.
در مورد باقی فایل ها هم نظیر چنین چیزی هستند (البته نه دقیقا!!)
همون مطالبی هست که در مورد offset ها صحبت کردیم.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اگه مشکلی بود اطلاع بدید.
سلام
راستش someone عزیز استادی که این پروژه را داده بود دک شد ولی به هر حال من ادامه می دهم و با کمال پرروی باز هم اگر مشکلی داشتم می پرسم .![]()
با کمال تشکر
به اين راحتيها نيست. آخه از يه سري بايت چطوري ميشه ساختار رو تشخيص داد .
مگر اينكه فايلها از يه استاندارد خاص پيروي كنن يا اينكه امضائي چيزي داشته باشن البته اگه منظورتو خوب فهميده باشم
سلام.به اين راحتيها نيست. آخه از يه سري بايت چطوري ميشه ساختار رو تشخيص داد .
مگر اينكه فايلها از يه استاندارد خاص پيروي كنن يا اينكه امضائي چيزي داشته باشن البته اگه منظورتون خوب فهميده باشم.
هر فایلی یک Header داره.(به جز چند مورد خاص) که از یک offset ی شروع میشه و در offset ی
به پایان میرسه. این Header شامل خصویات فایل هست. در ضمن مسلما فایل ها از یک استانداردی
پیروی میکنن. دلیلش هم که مشخصه. برنامه ای که تو پست قبلی گذاشته شده میتونه نمونه ی خیلی
خوبی باشه حتما بهش نگاه کنین.
فايلهاي ساختار دار مثل ديتا بيسهاي استاندارد آره
ولي فايلهائي كه به صورت سيستم فايل طراحي ميشه و ساختارهاي علمي داره به اين راحتيها قابل شناسائي نيستند.
افست و اين جور چيزها هم براي فايلهاي استاندارد فايده داره (ضمن اينكه معمولا عنوان افست جاي ديگه استفاده ميشه نه براي فايل)
دوباره سلام.
ممنون از دقت و توجهتون.
در چند مورد خواستم که بیشتر توضیح بدید.
1-
ممکنه در مورد فایلهای ساختار دار بیشتر توضیح بدید.فايلهاي ساختار دار
اگه ممکنه در مورد فایلهایی که ساختار ندارن هم همینطور.
2-
ممکنه در مورد ساختار علمی این فایل ها توضیح بدین و به چه دلیل قابل شناسایی نیستند؟فايلهائي كه به صورت سيستم فايل طراحي ميشه و ساختارهاي علمي داره به اين راحتيها قابل شناسائي نيستند.
3-
معولا Offset در کجا استفاده میشه؟ در مورد فایل از چه عنوانی استفاده میشه؟ضمن اينكه معمولا عنوان افست جاي ديگه استفاده ميشه نه براي فايل
باز ممنون از وقتی که میذارید و به سوالات پاسخ میدید.
همه فايلها صد در صد يه ساختاري دارن و الا بدرد نمي خورن وليممکنه در مورد فایلهای ساختار دار بیشتر توضیح بدید.
اگه ممکنه در مورد فایلهایی که ساختار ندارن هم همینطور.
يه سري فايلها ساختار استاندارد دارن مثل اونائي كه با DBMS هاي معتبر ساخته مي شن و طبق Documentation اونا مي تونيد ساختارشون رو در بياريد ولي با سعي و خطا هم شايد بشه.
معمولا كل ساختارهائي هست كه توي File Structure بحث ميشه مثل AVL Tree , BTree , RBTree و ساير ساختارهائي كه پياده سازي اونا سليقه اي هست. و به اين سادگيها نميشه ساختارشون رو در آورد مگه طرف يه رد پائي از اونا به جا گذاشته باشهممکنه در مورد ساختار علمی این فایل ها توضیح بدین و به چه دلیل قابل شناسایی نیستند؟
حافظهمعولا Offset در کجا استفاده میشه؟
Positionدر مورد فایل از چه عنوانی استفاده میشه؟
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)