请问WINCE的文件操作稳定吗?[读写.txt文件]
请教高手,通过应用操作WINCE的.txt文件是否很可靠,稳定?
我写了个测试程序,用于在TF卡中新建一个文本文件,然后给里面写一些数据,再从里面读取出来,主程序代码如下:
BOOL WriteText()
{
#define FILE_ROUTE TEXT(".\\Storage Card\\Test_Card.txt")
//#define FILE_ROUTE TEXT(".\\Test_Card.txt")
FILE *hFile_Info=NULL;
long n1,n2,n3,n4,n5,n6,n7,n8,n9;
char s1[25];
char s2[5];
// 以读写方式打开文件,如果没有文件则打开失败
hFile_Info = _wfopen(FILE_ROUTE,L"r+");
if(hFile_Info==NULL) //如果还没有这个文件,则新建一个
{
RETAILMSG(1,(TEXT("fopen false!\r\n")));
// 以读写方式打开文件,无文件则新建,有文件则破坏
hFile_Info = _wfopen(FILE_ROUTE,L"w+");
//fprintf(hFile_Info,"%s\n","******TF Card Test******");//写入初始值
fprintf(hFile_Info,"%ld\n", 1);
fprintf(hFile_Info,"%ld\n", 2);
fprintf(hFile_Info,"%ld\n", 3);
fprintf(hFile_Info,"%ld\n", 4);
fprintf(hFile_Info,"%ld\n", 5);
fprintf(hFile_Info,"%ld\n", 6);
fprintf(hFile_Info,"%ld\n", 7);
fprintf(hFile_Info,"%ld\n", 8);
fprintf(hFile_Info,"%ld\n", 9);
fprintf(hFile_Info,"%s\n", "end");
}
//else//读Test_Card.txt 文件
{
//fscanf(hFile_Info, "%s\n",s1);
fscanf(hFile_Info,"%ld\n",&n1);
fscanf(hFile_Info,"%ld\n",&n2);
fscanf(hFile_Info,"%ld\n",&n3);
fscanf(hFile_Info,"%ld\n",&n4);
fscanf(hFile_Info,"%ld\n",&n5);
fscanf(hFile_Info,"%ld\n",&n6);
fscanf(hFile_Info,"%ld\n",&n7);
fscanf(hFile_Info,"%ld\n",&n8);
fscanf(hFile_Info,"%ld\n",&n9);
fscanf(hFile_Info, "%s\n",s2);
fclose( hFile_Info ); //关闭Test_Card.txt
}
RETAILMSG(1,(TEXT("n5=%ld\r\n"),n5));
RETAILMSG(1,(TEXT("n6=%ld\r\n"),n6));
if(n1!=1 || n2!=2)
{
RETAILMSG(1, (TEXT("Detect TF Card False!!!\r\n")));
return FALSE;
}
else
{
RETAILMSG(1, (TEXT("Detect TF Card OK!!!\r\n")));
return TRUE;
}
}
但是执行起来好像相当的不稳定,具体不稳定的情况如下:
一:下面程序中将后大括号放在_wfopen函数的后面就提示出错
if(hFile_Info==NULL) //如果还没有这个文件,则新建一个
{
RETAILMSG(1,(TEXT("fopen false!\r\n")));
// 以读写方式打开文件,无文件则新建,有文件则破坏
hFile_Info = _wfopen(FILE_ROUTE,L"w+");
//fprintf(hFile_Info,"%s\n","******TF Card Test******");//写入初始值
fprintf(hFile_Info,"%ld\n", 1);
fprintf(hFile_Info,"%ld\n", 2);
fprintf(hFile_Info,"%ld\n", 3);
fprintf(hFile_Info,"%ld\n", 4);
fprintf(hFile_Info,"%ld\n", 5);
fprintf(hFile_Info,"%ld\n", 6);
fprintf(hFile_Info,"%ld\n", 7);
fprintf(hFile_Info,"%ld\n", 8);
fprintf(hFile_Info,"%ld\n", 9);
fprintf(hFile_Info,"%s\n", "end");
}
二:在上面的程序后面加一个else语句如下:
else
{
fprintf(hFile_Info,"%ld\n", 1);
fprintf(hFile_Info,"%ld\n", 2);
fprintf(hFile_Info,"%ld\n", 3);
fprintf(hFile_Info,"%ld\n", 4);
fprintf(hFile_Info,"%ld\n", 5);
fprintf(hFile_Info,"%ld\n", 6);
fprintf(hFile_Info,"%ld\n", 7);
fprintf(hFile_Info,"%ld\n", 8);
fprintf(hFile_Info,"%ld\n", 9);
fprintf(hFile_Info,"%s\n", "end");
}
也提示出错
三:添加两个如下语句,也提示出错:
fprintf(hFile_Info,"%s\n","******TF Card Test******");
fscanf(hFile_Info, "%s\n",s1);
以上原因不明。
提示的出错一般是什么溢出之类的错误,不知道是我程序写得不够好还是WINCE
系统本身的文件操作就不稳定?