发布网友
共1个回答
热心网友
楼主,在你的源程序中:
FILE *fp;
13: fp=fopen("c:\\ds\\05070502108.txt","a");
14: fseek(fp,0L,0);
15: fprintf(fp,"ssssssss\n");
16: int a;
17: FILE *px;
18: px = fopen("c:\\ds\\test.txt","r");
其中fp=fopen("c:\\ds\\05070502108.txt","a"); 这句是不合理的.原因如下:
TC2.0中,处理文件的函数中,文件名是不能超过8个字符(不带后缀名)的.
在你程序中,05070502108.txt这个文件名太长,已是11个字符.操作系统为了和以前的DOS系统兼容(DOS的文件名不能超过8个字符,TC2.0是运行在DOS下的),在保存05070502108.txt这个文件时,文件名并不是05070502108.txt,而是050705~1.txt(也可能是050705~2.txt等,看实际而定).所以fopen()函数是找不到文件名的.
为了更进一步了解详情,建议你看一下FAT文件系统的知识,特别是要看长文件名的保存方法,相信看后,你的问题更容易解决.由于FAT文件系统编幅不短,在这我就不详细讲解.希望你自己查询.