نقل قول:
نوشته اصلي بوسيله tarannompc20
|
سلام
من توی یک تاپیک دیگه این سوال را مطرح کردم و یک نفر بهم جواب داد.راستش به من خیلی کمک شد. حالا من جوابشو واست گذاشتم.امیدوارم به درد شما هم بخوره.
"بهترینش همونه که از 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)"