C语言格式化读取文件
数据格式:
AA 28 00 10 00 80 80 02 08 08 0A CC 33 C3 3C
变成下面的形式
num={0xaa,0x28,0x00,0x10,0x00,0x80,0x80,0x02,0x08,0x08,0x0a,0xcc,0x33,0xc3,0x3c};
#define _CRT_SECURE_NO_DEPRECATE //兼容C的标准格式
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#define LENGTH 15 //数组的大小
typedef struct
{
char number[LENGTH];
char staddress[LENGTH];
int price;
}*node, Node;
int main(int argc, char *argv[])
{
FILE *fp;
fp = fopen("test.txt", "a+"); //以读写的权限打开文件(如果文件不存在则创建)
int num[LENGTH];
for (int i = 0; i < LENGTH; i++)
{
fscanf(fp, "%02x ", &num[i]);
}
fprintf(fp, "\rnum={");//格式化从文件中读出数据
for (int i = 0; i < LENGTH-1; i++)
{
fprintf(fp, "0x%02x,", num[i]);//格式化从文件中读出数据
}
fprintf(fp, "0x%02x", num[LENGTH-1]);//格式化从文件中读出数据
fprintf(fp, "};");//格式化从文件中读出数据
fclose(fp); //关闭文件
return 0;
}