ورود

View Full Version : سوال: خواندن یک خط خاص از یک فایل Unicode



EbiPenMan
یک شنبه 11 مرداد 1388, 16:53 عصر
سلام به همگی

دوستان من با یک برنامه کار می کنم که یک پلاگین داره برای خوندن یک فایل متنی Unicode .
ولی این پلاگین می یاد و یه دفه ای همه فایل رو می خونه و یک text میده که همه فایل توش هست.
ولی من اینو نمی خوام . من می خوام از یک فایل متنی (txt) که به صورت unicode ذخیره شده چند تا خط خاص مثلا شماره خط 4 رو بخونم .

دوستان این کد پلاگین خود برنامه هست:



FILE* file = fopen(filename.Str(),"r");

filename.Str هم آدرس فایل مورد نظر هست.




if (file) {

fseek(file,0,SEEK_END);
long size = ftell(file);
fseek(file,0,SEEK_SET);



short* text = new short[size/2+1];
// we read from the file
int realcount = 0;
if (size) realcount = fread(text,1,size,file);

// eof
text[realcount/2] = L'\0';

beh->SetOutputParameterValue(0,text,realcount+2);
fclose(file);
delete [] text;
}

SetOutputParameterValue تابع هم برای خود sdk هست که به این صورت تعریف شده :


SetOutputParameterValue(int pos,const void* val,int size)

که به پارامتر اولیش کاری نداریم . دومیش همون متنی هست که از فایل خونده. سومیش هم اندازه متن هست.

حالا شما آیا می تونید با توجه به این کد کمکم کنید.
من یه مشکل دیگه هم دارم. بیشتر برنامه هایی که من دیدم خروجی رو به صورت char , ... میدن ولی این پلاگین متن رو به صورت یک اشاره گر از نوع short ( یعنی یک رشته از short ها ) میگیره.

دوستان می تونن یا یه توضیح درباره توابع استفاده شده دراین کد بدن یا یه جور این کد رو تغییر بدن که بشه شماره یه خط خاص رو برای خوندن بهش داد.