以下程序可以填充文件后面全部为0xff到指定大小.
test.c
#include <stdio.h>
/*
* Return: 0, OK
* -1, Fail
*/
unsigned long int appendFile(char *destFilePath, unsigned long int appendLength)
{
unsigned char tmpBuf[1024];
int i = 0;
FILE *fp;
for(i = 0; i < 1024; i++)
{
tmpBuf[i] = 0xFF;
}
if ((fp = fopen(destFilePath, "ab+"))==NULL)
{
printf("Can not open file %s \n", destFilePath);
return -1;
}
while(appendLength > 0)
{
if (appendLength <= 1024)
{
fwrite(tmpBuf, sizeof(char), appendLength, fp);
appendLength -= appendLength;
}
else
{
fwrite(tmpBuf, sizeof(char), 1024, fp);
appendLength -= 1024;
}
}
fclose(fp);
return 0;
}
#define SRC_FILE "./file1.bin"
#define DEST_FILE "./file2.bin"
void main(void)
{
unsigned long int totalLength = (85504 - 13824) * 1024;
unsigned long int fileLength = 57751552;
unsigned long int appendLength = totalLength - fileLength;
appendFile(DEST_FILE, appendLength);
}