c语言文件操作出错,求指点
											
程序代码:#include<stdio.h>
#include<time.h>
#include<string.h>
#include <stdlib.h>
///////////////////
const int v_max = 5;           
const double randomization = 0.3;  
const int road_length = 500;         
int v[2][600];
///////////////////////////////////
int lead[10];                        
int last[10];                        
const int car_num = 100;
int total_node_num, total_road_num, total_car_num, road_num, lattice, sample, time_run;
int rand_int()
{
    int seed;
    seed = rand() % 501;  //make a num 0-100;
    return seed;
}
//////////产生随机中子数,范围在0-1之间
double rand_double()
{
    return ((double)rand_int() / 100);
}
void add_car()
{
    if (rand_int() % 2 == 1)
    {
        if (last[0] > 0)
            v[0][0] = v_max;
    }
    else
    {
        if (last[1] > 0)
            v[1][0] = v_max;
    }
    //return 0;
    printf("尾车=%2d\n", last[0]);
    //getchar();
}
void inicars()
{
    FILE *ff;
    ff = fopen("初始化.txt", "w");
    int temp_1, i, j;
    for (i = 0; i<2; i++)
        for (j = 0; j<road_length; j++)
        {
            v[i][j] = -1;
        }
    ///////////////
    for (i = 0; i < 2; i++)
    {
        for (j = 0; j < car_num;)
        {
            temp_1 = rand_int() % road_length;
            if (v[i][temp_1] < 0)
            {
                v[i][temp_1] = rand_int() % (v_max + 1);
                j++;
                fprintf(ff, "道路=%2d,weizhi=%2d,sudu=%2d\n", i, temp_1, v[i][temp_1]);
            }
            
        }
        
    }
    printf("1");
    //getchar();
}
void update_lattice()
{
    //ofstream Vfile("V_1.txt", ios::app);
    FILE *fp;
    fp = fopen("wz_1.txt", "a");
    int temp_1, temp_2, temp_3;
    for (road_num = 0; road_num < 2; road_num++)
    {
        for (lattice = last[road_num]; lattice <= lead[road_num]; lattice++)
        {
            if (v[road_num][lattice] >= 0)//////////////
            {
                if (v[road_num][lattice] < v_max)   
                {
                    v[road_num][lattice]++;
                }
                if (lattice < lead[road_num])  
                {
                    for (temp_1 = 1; temp_1 <= v_max; temp_1++)    /
                    {
                        if (v[road_num][lattice + temp_1] >= 0 )
                        {
                            v[road_num][lattice] = temp_1 - 1; break;        
                        }
                    }
                }
                else if (lattice == lead[road_num])
                {
                    if (v[road_num][lattice] >= road_length - lattice - 1)
                    {
                        v[road_num][lattice] = -1;   //
                    }
                }
                if (rand_double() < randomization && v[road_num][lattice] > 0)
                {
                    v[road_num][lattice]--;
                }
                //////////////////////////////
            }
            ///////////////////////////////////////////////
            if (v[road_num][lattice] >= 0)
            {
                temp_2 = lattice + v[road_num][lattice];
                if (temp_2 < road_length)
                {
                    v[road_num][temp_2] = v[road_num][lattice];
                    v[road_num][lattice] = -1;
                }
                else
                {
                    v[road_num][lattice] = -1;
                }
                if (road_num == 0)
                    fprintf(fp, "道路:%2d,位置=%2d\n", road_num, lattice);
                //    Vfile << road_num << "    " << lattice << endl;
            }
        }
        fputs("\n", fp);
    }
    //Vfile.close();
    fclose(fp);
    //return 0;
}
void main()
{
    srand(time(NULL));
    int time_count;
    inicars();
    FILE *p;
    p = fopen("时间.txt", "w");
    for (time_count = 0; time_count < 1000; time_count++)
    {
        for (road_num = 0; road_num < 2; road_num++)
        {
            for (lattice = 0; lattice < road_length; lattice++)
            {
                if (v[road_num][lattice] >= 0)
                    last[road_num] = lattice; break;
            }
        }
        ///////////////
        for (road_num = 0; road_num < 2; road_num++) ////////////////
            for (lattice = road_length - 1; lattice > -1; lattice--)
            {
                if (v[road_num][lattice] >= 0)
                {
                    lead[road_num] = lattice;    break;
                }
            }
        ///////////////////////////////////////
        add_car();
        update_lattice();
        fprintf(p, "time=%2d\n", time_count);
        printf("%d\n", time_count);
    }
    fclose(p);
    printf("ok");
}出错的地方在fprintf(fp, "道路:%2d,位置=%2d\n", road_num, lattice);
// Vfile << road_num << " " << lattice << endl;
}
}
fputs("\n", fp);
}
这里为什么只循环了一次,按正确的想法是一个时间步有100个数据,总共有1000*100个数据,,,,,,, 但是输出的文件只有100个,我命名文件操作类型是追加型fp = fopen("wz_1.txt", "a");为什么还是出错,求大神指点一下,小弟不胜感激。。。。。。。



											
	    

	
