ورود

View Full Version : خواندن اطلاعات داخل فایل



joker
دوشنبه 21 مرداد 1387, 20:01 عصر
چه تابعی وظیفه خوندن اطلاعات داخل فایل را به عهده داره
اول فکر میکردم تابع ReadFile این کار را میکنه (تابع دیگه ای به عقلم نمیرسه ! همیشه هرچی بوده ReadFile بوده)
ولی بعد با هوک کردن این تابع برخلاف تصورم متوجه شدم خوندن محتوایات داخل فایل ( مثلا تحت پروسه notepad ) به عهده این تابع نیست. !!!
به نظرم عجیب اومد .شما چی فکر میکنید ؟ اشتباه از منه ؟ یا اینکه کدوم api داره عمل میکنه ؟

Hsimple11
دوشنبه 21 مرداد 1387, 22:14 عصر
در مورد فایلهای متنی تابع Read را جستجو کنید.

amin_alexi
سه شنبه 22 مرداد 1387, 08:19 صبح
اول AssignFile
بعد Reset برای خواندن (یا Append برای اضافه کردن به انتها و Rewrite برای درست کردن فایل یا خالی کردن )
و Read خواندن و ReadLn خواندن یک سطر و Write و WriteLn نوشتن یک سطر
و در آخر CloseFile

joker
سه شنبه 22 مرداد 1387, 15:52 عصر
با تشکر ولی تابع api بنام read توی ایمپورت تیبل notepad وجود نداره .( فکر نمیکنم یک api باشه )
AssignFile کارش چیز دیگه ای هست ، ظاهرا گرفتن هندل فایل هست.( البته اصلا جزوapi ها نیست)

پیوست:
یک برنامه که اطلاعات داخل یک فایل را بخونه هم نوشتم ، دیباگ کردن ، تریس کردم ظاهرا که با تابع دیگه ای کار نمیکنه
( البته غیر از زیرمجموعه این تابع که ntdll.zwReadFile بود. )

B-Vedadian
سه شنبه 22 مرداد 1387, 21:29 عصر
براي خواندن از فايل راه مؤثرتر استفاده از MapViewOfFile هستش. با اين کار مديريت کار باديسک بصورت کامل به عهده ويندوز خواهد بود و شما فقط با اشاره گر حافظه کار ميکنيد.