バイナリモードで読み込むファイルを開こうとすると問題が発生します。それがうまく働いてpFileName=/mnt/jffs2/bir/1234.bir
場合はここでバイナリモード、C言語でファイルからデータを読み取ることができません
PT_LONG LoadDataFromFile1(const char *pFileName,
unsigned char **ppBufer, PT_LONG *pLenData)
{
PT_LONG retVal = 0;
PT_DWORD fileLength = 0,len,i;
unsigned char *buff,fn[35];
unsigned char buff1[500];
FILE *fil = NULL;
fil = fopen(pFileName, "rb");
if (fil != NULL)
{
fseek(fil, 0, SEEK_END);
fileLength = ftell(fil);
if (fileLength > 0)
{
*ppBufer = (unsigned char *) malloc(fileLength);
*pLenData = (PT_DWORD) fileLength;
printf("\n\n test file length:%d\n\n",fileLength);
fseek(fil, 0, SEEK_SET);
fread(*ppBufer, 1, fileLength, fil);
}
else
{
retVal = -2;
}
fclose(fil);
}
else
{
retVal = -1;
}
return retVal;
}
:
コードはこれです。しかし、pfilename=/mnt/jffs2/bir/11772213A7894568.bir
ファイルからデータを読み取ることができない場合。 -1を返します。
両方のファイルを読む権限がありますか? – Heisenbug