View Full Version : حذف کاراکتر
amir_civil
جمعه 05 مرداد 1386, 13:18 عصر
سلام دوستان
فرض کنیئد که یه فایل تکست داریم که توش نوشته شده:
amir_civil
من میخام حرف سوم از این رشته رو پاک کنم
لطفا راهنمایی کنید
ممنون
emad_67
جمعه 05 مرداد 1386, 14:15 عصر
اگه منظورت از پاک کردن اینه که اون کاراکتر رو حذف کنی به طوری که جای اون خالی بمونه که میتونی اون کاراکتر رو با space جایگزین کنی ولی اگه میخوای مثلا اینجوری بشه amr_civil به نظرم بهتره کل رشته رو اول بخونی بریزی تو یه آرایه بعد کاراکتر سوم رو حذف و مجددا تو فایل write کنی
amir_civil
شنبه 06 مرداد 1386, 11:44 صبح
سلام
به جز overwrite کردن راه بهتری هست؟
emad_67
شنبه 06 مرداد 1386, 13:10 عصر
راه بهتری والا به ذهنم نمیرسه
mahan66
شنبه 06 مرداد 1386, 22:34 عصر
سلام .
اگه میخوای overwrite نکنی تنها راهش اینه که شیفت بدی .. برای شیفت دتدن هم مثلا تو c# باید از اشاره گرهای فایل استفاده کنی مثلا :
file stream fs = new filestream("file name" , openOrCreate);
textReader tr = new textReader(fs);
textWriter tw = new textWriter(fs);
حالا باید با این اشاره گرها و یک دستکاری باهاشون و یه خورده کد نویسی کاری رو که میخوای بکنی..
مثلا برای اینکه تکست رایتر رو ببری اول حف سوم باید اینجوری بنوییسی :
tw.basestream.seek(2 * (sizeOf(char) , seekOrigin.begin) ; // yani az avvale file boro avvale charactere 3vom.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.