PDA

View Full Version : سوال: سوال فوری(فایل باینری)



silver2000
یک شنبه 20 تیر 1389, 17:24 عصر
سلام دوستان
من یه رکورد دارم که شامل یه رشته و یه عدد هستش و توی فایل باینری ذخیره شده حالا میخوام با وارد کردن رشته عدد رو برگردونه اما هر کاری میکنم عدد اشتباهی برمیگردونه
میشه لطفا راهنماییم کنید فقط خواهشا نگید تو تالار جستجو کن که این کارو کردم فایده نداشت:افسرده:

asrin|\|
یک شنبه 20 تیر 1389, 18:26 عصر
اگه فايلت رو به صورت

fp = fopen( "c:\\t1.txt", "r" );

و recordرو به صورت :

struct RECORD
{
char String [?];
int Value;
}
تعريف كرده باشي ،بايد به صورت زير عدد مورد نظرت رو پيدا كني:


while (fread(Record,1,1,fp)>0)
{
if (strcmp ( Record.String, Str))
continue;
return Record.Value;
}

silver2000
دوشنبه 21 تیر 1389, 09:11 صبح
اگه فايلت رو به صورت

fp = fopen( "c:\\t1.txt", "r" );

و recordرو به صورت :

struct RECORD
{
char String [?];
int Value;
}
تعريف كرده باشي ،بايد به صورت زير عدد مورد نظرت رو پيدا كني:


while (!eof)
{
fread(Record,1,1,fp);
if (strcmp(Record.String))
continue;
return Record.Value;
}

اما تابع strcmpدو تا آرگومان میخواد مگه این طور نیست؟ آرگومان اول record.strin آرگومان دوم چیه

asrin|\|
دوشنبه 21 تیر 1389, 09:49 صبح
اشكال كد رو در پست قبلي اصلاح كردم....Str همون رشته اي ست كه احتمالا از ورودي دريافت ميشه و شما بايد عدد مربوط به اون رو return كنيد.