易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
Linux网络编程:读取txt文本数据
单行作为索引,双行保存有数据,代码如下
[cpp]
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_DB_SIZE 1000
int
database[MAX_DB_SIZE];
const
char
*paramfile =
"parameter.txt"
;
int
get_sum_line(
const
char
*paramfile);
void
init_param(
int
database[],
const
char
*paramfile,
int
sum_line);
int
main(
int
argc,
char
*argv[])
{
int
sum = get_sum_line(paramfile);
if
(sum % 2 == 1)
{
printf(
"Parameter Error! "
);
return
-1;
}
else
{
init_param(database, paramfile, sum);
return
0;
}
}
int
get_sum_line(
const
char
*paramfile)
{
char
c = 0;
int
linenum = 0;
FILE
*fp = NULL;
int
iNewLineFlag = 0;
fp = fopen(paramfile,
"r"
);
if
(fp == NULL)
return
-1;
while
((c = fgetc(fp)) != EOF)
{
if
(c ==
" "
)
{
linenum++;
iNewLineFlag = 0;
}
else
{
iNewLineFlag = 1;
}
}
if
(iNewLineFlag)
linenum++;
printf(
"LineNum:%d "
, linenum);
fclose(fp);
return
linenum;
}
void
init_param(
int
database[],
const
char
*paramfile,
int
sum_line)
{
FILE
*fd;
char
line[255];
int
i = 0;
if
(!(fd = fopen(paramfile,
"r"
)))
{
printf(
"Couldn"t open parameter file %s. "
, paramfile);
exit(-1);
}
memset(database, 0,
sizeof
(
int
) * MAX_DB_SIZE);
unsigned
int
index_tmp;
unsigned
long
data_tmp;
unsigned
int
tmp;
int
loop_num = sum_line >> 1;
for
(i = 0; i < loop_num; i++)
{
index_tmp = 0;
fgets(line, 254, fd);
sscanf(line,
"%x"
, &index_tmp);
printf(
"index_tmp=%8X; "
, index_tmp);
data_tmp = 0;
fgets(line, 254, fd);
sscanf(line,
"%x"
, &data_tmp);
printf(
"data_tmp=%8X; "
, data_tmp);
}
fclose(fd);
}
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图