ورود

View Full Version : سوال: چگونه اطلاعاتی که می خوامو از فایل بخونم ؟؟



Rezvane.R
سه شنبه 18 تیر 1392, 00:26 صبح
من می خوام یه سری از اطلاعات خاص رو از فایل بخونم و از اونا تو برنامه ام استفاده کنم ولی نمی دونم چه جوری این کارو کنم .
مثلا اطلاعات فایل من مثله عکسه زیره و من فقط می خوام شماره خونه آرایه و جوابشو داشته باشم .
چی کار کنم ؟؟
(برنامه ای که دارم می نویسم اینه که یه dfa بگیره بعد بگه رشته وارد شده جز زبان هست یا نه ؟)

http://upload7.ir/images/06138167683695935427.jpg

omidshaman
سه شنبه 18 تیر 1392, 00:31 صبح
توی همین تالار یا تو گوگل جست و جو کن 1000 تا مطلب در باره کار با فایل پیدا می کنی !

Rezvane.R
سه شنبه 18 تیر 1392, 00:33 صبح
جستجو کردم ولی فقط می تونم کل اطلاعات فایلو بخونم نه یه جاهای خاصو .
باشه ممنون .

omidshaman
سه شنبه 18 تیر 1392, 00:49 صبح
سوالت خیلی کلیه خودت بگردی تو اینترنت راهشو پیدا می کنی...
این جا ها رو نگاه کن
https://www.google.com/#safe=off&sclient=psy-ab&q=file+c%2B%2B&oq=file+c%2B%2B&gs_l=hp.3..0i20l2j0l2.142116.143840.1.144118.8.7.0 .1.1.0.0.0..0.0...0.0.0..1c.1.17.psy-ab.VoxqNMTv8yA&pbx=1&bav=on.2,or.r_cp.r_qf.&bvm=bv.48705608,d.ZWU&fp=cc68e79d4e244acb&biw=1600&bih=799
http://barnamenevis.org/showthread.php?373035-کار-با-فایل-در-ifstream&highlight=%D9%81%D8%A7%DB%8C%D9%84
http://barnamenevis.org/showthread.php?366647-ویرایش-یک-فایل-txt&highlight=%D9%81%D8%A7%DB%8C%D9%84
http://barnamenevis.org/showthread.php?378714-کار-با-فایل&highlight=%DA%A9%D8%A7%D8%B1+%D8%A8%D8%A7+%D9%81%D 8%A7%DB%8C%D9%84

MinusOne
چهارشنبه 19 تیر 1392, 21:13 عصر
فکر نمی کنم خیلی هم دشوار باشه. کافیه اطلاعات از فایل به صورت یک رشته گرفته بشه بعدش میشه با عبارات با قاعده (http://en.wikipedia.org/wiki/Regular_expression) مقادیر مورد نظر رو به دست آورد. اگه کتاب خونه های RegEx هم در دسترس نیست میشه از split ساده استفاده کرد ولی کدهای بیشتری نیاز داره.

jblaox
چهارشنبه 19 تیر 1392, 22:47 عصر
اگر جای کاراکتر ها مشخص باشه میتوانید با استفاده از دستور زیر فقط مقادیر را بخوانید :

ifstream input_File("c:\\test.txt");
string str_temp_line;
getline( input_File, str_temp_line );
string str = str_temp_line.substr(4,1); // => 0
string str = str_temp_line.substr(3,3); // => [0]
input_File.close();

اگر میخواهی همه خطوط بخونه بندازش تو حلقه خطوط 3و4و5

موفق باشی راه اصولی تر همون روش های استفاده شده در RegEx و یا بعضی مواقع split است .

hadi0x7c7
پنج شنبه 20 تیر 1392, 00:18 صبح
const int MAX = 1024;
char buf[MAX];
FILE * my_file_pointer;

fgets(buf, MAX, my_file_pointer);
int i = buf[4] - '0';
int j = buf[7] - '0';
int c = buf[12];