نمايش پست تنها
قديمي ۰۴-۸-۱۳۹۱, ۱۱:۵۱ قبل از ظهر   #3 (لینک دائم)
laughingrose1
عضو فوق فعال
 
آواتار laughingrose1
 
تاريخ عضويت: خرداد ۱۳۹۱
محل سكونت: پای آن کاج بلند
پست ها: 21
تشكرها: 13
2 تشكر در 1 پست
My Mood: Shad
پيش فرض

نقل قول:
نوشته اصلي بوسيله tarannompc20 نمايش پست
salam be dostan
age chizi peida karadi bi zahmat bnaraye manam befrest
tarannompc20@gmail.com

سلام
من توی یک تاپیک دیگه این سوال را مطرح کردم و یک نفر بهم جواب داد.راستش به من خیلی کمک شد. حالا من جوابشو واست گذاشتم.امیدوارم به درد شما هم بخوره.

"بهترینش همونه که از 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)"
laughingrose1 آفلاين است   پاسخ با نقل قول
از laughingrose1 تشكر كرده اند:
talalo (۰۲-۲۰-۱۳۹۲), vahyd (۰۴-۸-۱۳۹۱)