نمایش نتایج 1 تا 12 از 12

نام تاپیک: EOF

  1. #1

    Thumbs down EOF

    وقتی داریم فایل رو به صورت باینری می خونیم مثلا توسط تابع ReadInt32() انتهای فایل رو چطور میشه تشخیص داد که دیگه نخونیم؟

  2. #2
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط benyamin_pc مشاهده تاپیک
    وقتی داریم فایل رو به صورت باینری می خونیم مثلا توسط تابع ReadInt32() انتهای فایل رو چطور میشه تشخیص داد که دیگه نخونیم؟
    تابع ReadInt32 در کجاست؟ به کدام کلاس ربط داره.
    در ضمن اگر به دکومنتیشن دات نت یک نگاه بندازید خیلی از جوابهاتان را داره.

  3. #3
    کسی نمی دونه انتهای فایل رو در سی شارپ چجوری میشه تشخیص داد؟تو سی با eof می شد تو سی شارپ با چیه؟

  4. #4
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط benyamin_pc مشاهده تاپیک
    کسی نمی دونه انتهای فایل رو در سی شارپ چجوری میشه تشخیص داد؟تو سی با eof می شد تو سی شارپ با چیه؟
    در سی شارپ این سوال معنی نداره، اگر مثال کدی دارید که کار نمیکنه بفرستید کمک میکنیم .
    آنلاین هلپ سی شارپ را بخوانید میبینید تمام این سوالهایه ساده را جواب داده.
    وقتی هم که یکی ازتان سوال میپرسه که کمکتان جواب بدیدبه جایه اینکه وقتمان را تلف کنید
    .

  5. #5
    حاجا آقا کسی نخواست وقتتان را تلف کنه اما من در مورد نحوه تشخیص انتهای فایل پرسیدم شما از مکان تابع سوال می فرمایین
    تو یه مثال از خود هلپ دات نت یه جا دیدم برای تشخیص اتنهای فایل( البته باینری نبود )کارکتر آخر دیده بود اگه null شه یعنی فایل تمومه اما تو باینری نمی دونم چجوری میشه

  6. #6
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    آقا من گفتم وقتمان ، نگفتم وقت من !
    شما هم وقتتان با ارزشه.

    http://www.thescripts.com/forum/thread238693.html

    نحوه استفاده‌اش با سی فرق داره ، در سی‌شارپ از استریم و یا تکست ریدر استفاده میشه.
    برایه پیدا کردن آخر فایل با استریم ریدر یک چیزی مانند این را استفاده مینکیم:

    using (StreamReader sr = new StreamReader("TestFile.txt"))
    {
    String line;
    while ((line = sr.ReadLine()) != null)
    {
    Console.WriteLine(line);
    }
    }
    ولی اگر شما میخواهید سی‌شارپ کار کنید، ببینید در سی شارپ چطور کار میکنند، روش کار در سی با سی‌شارپ کلی فرق داره (کلی هم شبیه هست)
    آقا مخلصیم

  7. #7
    دوست عزیز منم گفتم وقتتان نگفتم وقت تو!
    دستتم درد نکنه اما منم تو پست قبلی منظورم همین بود که تست میکنه null نباشه اما این تو کار با فایل باینری چرا جواب نمیده؟

  8. #8
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    از چه کلاسی برایه خواندن فایل استفاده میکنید؟

  9. #9



    FileStream h=new FileStream("g:\\adad.exe",FileMode.Open);
    FileStream hh=
    new FileStream("g:\\adad2.exe",FileMode.Create);
    BinaryReader k=
    new BinaryReader(h);
    BinaryWriter kk=
    new BinaryWriter(hh);
    while(k.?????()!=null){
    kk.Write(k.ReadInt32());}
    kk.Close();





    این کد اونجا تو وایل چی بذارم که وقتی فایل تموم شد دیگه نخونه؟

  10. #10
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    مثال از :http://msdn2.microsoft.com/en-us/lib...ilestream.aspx

    using (FileStream fs = File.OpenRead(path))
    {
    byte[] b = new byte[1024];
    UTF8Encoding temp = new UTF8Encoding(true);
    while (fs.Read(b,0,b.Length) > 0)
    {
    Console.WriteLine(temp.GetString(b));
    }
    }

  11. #11

    FileStream h=new FileStream("g:\\adad.exe",FileMode.Open);
    FileStream hh=new FileStream("g:\\adad2.exe",FileMode.Create);
    BinaryReader k=new BinaryReader(h);
    BinaryWriter kk=new BinaryWriter(hh);
    while(h.Position<h.Length){
    kk.Write(k.ReadInt32());}
    kk.Close();


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

  12. #12
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط benyamin_pc مشاهده تاپیک

    FileStream h=new FileStream("g:\\adad.exe",FileMode.Open);
    FileStream hh=new FileStream("g:\\adad2.exe",FileMode.Create);
    BinaryReader k=new BinaryReader(h);
    BinaryWriter kk=new BinaryWriter(hh);
    while(h.Position<h.Length){
    kk.Write(k.ReadInt32());}
    kk.Close();
    خودم فهمیدم
    اونی که شما نوشتی مال این کار نبود
    در هر صورت ازتون ممنونم
    در اصل من هم ممنونم، یا اینرا هیچ وقت ندید بودم یا ایکنه هم یادم رفته بود، به هر حال منم یک چیزی یاد گرفتم.
    مرسی

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •