扫描一个多列的文件,将每一列扫描到一个结构体变量中
来源:互联网 发布:新闻英语听力训练软件 编辑:程序博客网 时间:2024/05/21 09:33
一.文件的内容 a.txt
16 172 1001171005 12 0 260 17 8 17 11 15 34 500 43.432743 0.229601 0.000000 -2001 269 140 -13 25 14 58 100 0 1502939736 83020 0.000000 4 BS1001171009 38220872 BS1001171008 38220310 BS1001171007 38220288 BS1001171010 38220856 16 172 1001171005 12 0 263 17 8 17 11 15 34 750 0.000000 0.000000 0.000000 -1998 251 125 -23 28 10 58 100 0 1502939736 332357 0.000000 2 BS1001171009 38208995 BS1001171008 0 16 172 1001171005 12 0 264 17 8 17 11 15 35 0 43.374115 0.002367 0.000000 -2008 264 151 -10 14 21 58 100 0 1502939736 582413 0.000000 4 BS1001171009 38251504 BS1001171008 38250900 BS1001171007 38250912 BS1001171010 38251489 16 172 1001171005 12 0 266 17 8 17 11 15 35 250 43.469775 0.240061 0.000000 0 0 0 0 0 0 0 0 0 1502939736 832438 0.000000 4 BS1001171009 29450786 BS1001171008 29450226 BS1001171007 29450217 BS1001171010 29450757 16 172 1001171005 12 0 267 17 8 17 11 15 35 500 0.000000 0.000000 0.000000 -2001 261 121 -18 20 21 58 90 0 1502939737 82466 0.000000 4 BS1001171009 0 BS1001171008 0 BS1001171007 38226955 BS1001171010 38227487 16 172 1001171005 12 0 268 17 8 17 11 15 35 750 43.454180 0.378724 0.000000 -2006 250 147 -4 19 11 58 90 0 1502939737 332469 0.000000 4 BS1001171009 38249544 BS1001171008 38248974 BS1001171007 38248959 BS1001171010 38249501 16 172 1001171005 12 0 270 17 8 17 11 15 36 0 0.000000 0.000000 0.000000 -2010 262 131 -20 20 24 58 90 0 1502939737 582329 0.000000 4 BS1001171009 38253488 BS1001171008 0 BS1001171007 38252886 BS1001171010 38253446 16 172 1001171005 12 0 271 17 8 17 11 15 36 250 0.000000 0.000000 0.000000 -2005 283 145 -14 13 32 58 90 0 1502939737 832397 0.000000 4 BS1001171009 38222067 BS1001171008 0 BS1001171007 38221486 BS1001171010 38222034
二.结构体定义
typedef struct _coordinate_value{ int coor_id; char x_value[256]; char y_value[256]; char z_value[256];}coordinate_value;
三.函数实现:只扫描文件的4,14,15,16行
int read_file(char *file_name, coordinate_value brone[]){ FILE *fd; char buf[2048]; memset(buf, 0x00, sizeof(buf)); int wordmove = 0; int clcount = 0; char column[256]; int i; int struct_arrray_size = 0; if(file_name == NULL) { printf("file_name is NULL\n"); return -1; } fd = fopen(file_name, "r+"); if(fd == NULL) { printf("open file fail\n"); return -1; } while(fgets(buf, 2048, fd)) { if(!strlen(trim(buf))) { continue; } wordmove = 0; for(clcount = 0; clcount <= 37; clcount++) { memset(column, 0x00, sizeof(column)); for(i = 0; i < strlen(buf); i++) { if(buf[wordmove] != ' ') { column[i] = buf[wordmove]; wordmove++; } else { wordmove++; break; } } if(clcount == 3) { brone[struct_arrray_size].coor_id = atoi(trim(column)); } else if(clcount == 13) { memcpy(brone[struct_arrray_size].x_value, trim(column), strlen(trim(column))); } else if(clcount == 14) { memcpy(brone[struct_arrray_size].y_value, trim(column), strlen(trim(column))); } else if(clcount == 15) { memcpy(brone[struct_arrray_size].z_value, trim(column), strlen(trim(column))); } } struct_arrray_size++; } return struct_arrray_size;}
阅读全文
0 0
- 扫描一个多列的文件,将每一列扫描到一个结构体变量中
- 扫描成一个文件
- SQL中如何将一个表中的某一列的数据复制到另一个表中的某一列里
- 将DataTable的几列复制到另外一个Datatable中
- 将DataTable的某列填充到另外一个DataTable中
- 扫描一个文件夹里的所有文件
- 扫描一个目录下的所有文件
- 将一个二维数组的行和列的元素互换,存到另外一个二维数组中。
- 将一个二维数组的行和列的元素互换,存到另外一个二维数组中
- 在一个每一行从左到右递增每一列从上到下递增的二维数组中查找一个整数是否存在
- 将一个二维数组的行和列进行交换 存到另外一个二维数组中
- 添加一个列到dataframe中
- mysql将一个表中的某一列复制到另外一个表的一列(联表更新,假如全部列)
- 将一个字符串分成多列
- 将一个二维数组的行和列的元素互换,存到另一个二维数组中。
- 用SQL将Oracle中同一列的多行记录拼接成一个字符串
- 将一个二维数组行和列的元素互换,存到另一个二位数组中
- c语言:将一个二维数组行和列的元素互换,存到另一个二维数组中。
- php laravel 源码阅读1
- logback的使用和logback.xml详解
- Android编译单个apk到rom报错的问题解决(无错误提示)
- [一]Mina入门实例-Mina网络通信框架
- C# DllImport的用法
- 扫描一个多列的文件,将每一列扫描到一个结构体变量中
- HYActivityView
- 【Java基础】list转为Integer[]、list转为int[]、Integer[]转为int[]、int[]转为Integer[]
- mybatis中数值型0被判为空字符串
- python Day 4
- mysql与oracle like小知识
- 经典语句二
- 值传递的Java
- Sql中查询的具体应用及子句的优先级