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

نام تاپیک: جلوگیری از اضافه شدن رکورد اضافی

  1. #1

    جلوگیری از اضافه شدن رکورد اضافی

    با سلام

    من وقتی تو یه فایل که بدین گونه باز شده :
    fp=fopen("test.dat","wb


    وقتی میخایم یه استراکچر رو توش ذخیره کنم
    همیشه یه رکورد رو برنامه خودش اضافه میکنه
    که مقدارش صفر است

    چطور جلوی این کار رو بگیریم


    با تشکر

  2. #2
    اون قسمت از کد برنامه ات که استراکچر رو اضافه میکنه بزار تا بشه نظر داد.

  3. #3
    [code]

    #define maxsize 10
    int con=0; //This is our counter for last structure node number

    struct student
    {
    char name[20];
    int grade[5];
    }std[maxsize];



    void save()
    {
    FILE *fp;
    int i;
    fp=fopen("test.dat","wb");
    for(i=0;i<con;i++)
    {
    fwrite(&std[i],sizeof(struct student),1,fp);
    }
    clrscr();
    gotoxy(25,10);
    printf("Saved Successfuly");
    fclose(fp);
    getch();


    }


    [code/]

  4. #4
    من که خطای خاصی نمیبینم.
    ولی خیلی احتمالات میشه داد.
    اگه کل برنامه رو بزاری بهتر میشه نظر داد.
    البته اگه مایل بودی.

    موفق باشید

  5. #5
    فکر نکنم نیاز به کل برنامه باشه

    چون که فقط تو این تابع و یه تابع دیگه با فایل کار میشه !

    [code]

    void load()
    {
    int i;
    FILE *fp;
    fp=fopen("test.dat","rb");
    while(!feof(fp))
    {


    fread(&std[con],sizeof(struct student),1,fp);
    con++;


    }
    gotoxy(30,26);
    printf("Load Is Complete");
    fclose(fp);
    getch();
    }
    [/code[

  6. #6
    نقل قول نوشته شده توسط SIR_asad
    [code]

    #define maxsize 10
    int con=0; //This is our counter for last structure node number

    struct student
    {
    char name[20];
    int grade[5];
    }std[maxsize];



    void save()
    {
    FILE *fp;
    int i;
    fp=fopen("test.dat","wb");
    for(i=0;i<con;i++)
    {
    fwrite(&std[i],sizeof(struct student),1,fp);
    }
    clrscr();
    gotoxy(25,10);
    printf("Saved Successfuly");
    fclose(fp);
    getch();


    }


    [code/]
    سلام.
    اول یک سوال.
    این یک رکورد اضافی آخر فایله یا اولش.
    بعدشم توی این کد شما con رو صفر کردید و دیگر مقدار ندادید و بعد در شرط حلقه ازش استفاده کردید. چرا؟

  7. #7
    فکر نکنم نیاز به کل برنامه باشه

    چون که فقط تو این تابع و یه تابع دیگه با فایل کار میشه !
    درسته که فقط این دو روال به فایل دسترسی دارن ولی نحوه استفاده از این روال ها هم مهمه.

    بعدشم توی این کد شما con رو صفر کردید و دیگر مقدار ندادید و بعد در شرط حلقه ازش استفاده کردید. چرا؟
    باید کل برنامه رو دید تا بشه نظر داد.

    البته اگه Security برنامه در حدی باشه که بشه سورسش رو منتشر کرد !!!

  8. #8
    باید کل برنامه رو دید تا بشه نظر داد.

    البته اگه Security برنامه در حدی باشه که بشه سورسش رو منتشر کرد !!!
    موافقم !!!

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

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