نمايش پست تنها
قديمي ۰۴-۶-۱۳۹۱, ۰۹:۱۱ بعد از ظهر   #4 (لینک دائم)
mahdiii
Active users
 
آواتار mahdiii
 
تاريخ عضويت: اسفند ۱۳۸۸
محل سكونت: مشهد
پست ها: 355
تشكرها: 27
167 تشكر در 131 پست
My Mood: Khoshhal
پيش فرض

بهترینش همونه که از textread استفاده کنین، چون فایلتون متنیه.

str=textread('a.txt','%c');
فایل موردنظر a.txt هست که متنتون توشه. من اونو تو متغیر str ریختم.
حالا شما می تونید با یک حلقه و بررسی اینکه به یک کاراکتر موردنظر رسیدید یا نه عملیاتتونو انجام بدید.

for i=1:length(str)
if(str(i)=='q')
disp('An operation must be here');
end
end
من تو این حلقه گفتم هرموقع به کاراکتر q رسیدی عبارت An operation must be here رو چاپ کن.
این جوری که من نوشتم، فاصله ها رو دور میریزه و فقط کاراکترا رو به غیر از فاصله space تو str میریزه. برای اینکه بتونی دقیقا متنتو بخونی می تونی بنویسی
str2=textread('a.txt','%s','whitespace','')
و برای دسترسی به تک تک کاراکترها باید بنویسی str2{1}(3) که این دستور کاراکتر سومو بهت میده
یه راه دیگش اینه که از دستور fscanf استفاده کنی.
id=fopen('a.txt');
ww=fscanf(id,'%c')
و برای دسترسی به کاراکترها lمثلا کاراکتر سوم می نویسی ww(3)
کلا راه زیاده.امیدوارم تونسته باشم اطلاعات مفیدی بهت بدم
من نمیدونم چرا پرانتزا رو نامرتب میگذاره:دی
mahdiii آفلاين است   پاسخ با نقل قول
از mahdiii تشكر كرده است:
laughingrose1 (۰۴-۷-۱۳۹۱)