C++读取CSV文件,并将逗号分隔符文件分割成N个数组
来源:互联网 发布:如或知而 如的意思 编辑:程序博客网 时间:2024/06/02 17:10
#include <stdio.h>
#include <string.h>
// #include <windows.h>
#define MAXLINE 256
struct student
{
char stuName[100];//姓名
char f[11][10];
};
//自定义数据类型
typedef struct student RECORD;
//结构体数组
RECORD rs[10000] = {0};
void spit(int max);
//读取文件
int main()
{
int length,i,j,k;//每行数据长度\结构体下标\成员变量个数\循环变量
char cLineStr[255],cData[80],cTmp[2];//每行文件内容\从文件读取的成员变量内容\每行数据单个字符的值
FILE* fp;
//初始化变量
j = 0 ;
i = 0 ;
memset(cData, 0, sizeof(cData));
memset(cLineStr, 0, sizeof(cLineStr));
memset(&rs, 0, sizeof(RECORD));
fflush(stdin);
//读取文件
fp = fopen("D:\\Exat.csv","r");
if (fp == NULL)
{
return -1;
}
//从文件中一行一行读取数据放入结构体数组
while ((!feof(fp))&&((fgets(cLineStr,MAXLINE,fp)) != NULL))
{
length = strlen(cLineStr);
for (k = 0; k < length; k++)
{
memset(cTmp, 0, sizeof(cTmp));
memcpy(cTmp, &cLineStr[k],1);
//在文件中各个成员中间是用逗号分开的
if (cTmp[0] != '\n')
{
strcat(cData,cTmp);
}
//将从文件中读取出的成员变量内容放入数据文件记录结构体数组中相应的位置
else
{
if (j == 0)
{
strcpy(rs[i].stuName,cData);
}
memset(cData, 0, sizeof(cData));
j++;
if(j == 1)
{
break;
}
}
}//end for
j = 0;
i++;
}//end while
fclose(fp);
//返回数据文件记录结构体数组最大下标
i--;
spit(i);
return i;
}
void spit(int max)
{
int len ;
int m=0,n=0;
int num=0;
for(num=0;num<=max;num++)
{
len = strlen(rs[num].stuName);
for(int i = 0; i<len ;i++)
{
if(rs[num].stuName[i]!=',')
{
rs[num].f[m][n] = rs[num].stuName[i];
n++;
}
else
{
m++;
n=0;
}
}
m=0;
n=0;
}
}
#include <string.h>
// #include <windows.h>
#define MAXLINE 256
struct student
{
char stuName[100];//姓名
char f[11][10];
};
//自定义数据类型
typedef struct student RECORD;
//结构体数组
RECORD rs[10000] = {0};
void spit(int max);
//读取文件
int main()
{
int length,i,j,k;//每行数据长度\结构体下标\成员变量个数\循环变量
char cLineStr[255],cData[80],cTmp[2];//每行文件内容\从文件读取的成员变量内容\每行数据单个字符的值
FILE* fp;
//初始化变量
j = 0 ;
i = 0 ;
memset(cData, 0, sizeof(cData));
memset(cLineStr, 0, sizeof(cLineStr));
memset(&rs, 0, sizeof(RECORD));
fflush(stdin);
//读取文件
fp = fopen("D:\\Exat.csv","r");
if (fp == NULL)
{
return -1;
}
//从文件中一行一行读取数据放入结构体数组
while ((!feof(fp))&&((fgets(cLineStr,MAXLINE,fp)) != NULL))
{
length = strlen(cLineStr);
for (k = 0; k < length; k++)
{
memset(cTmp, 0, sizeof(cTmp));
memcpy(cTmp, &cLineStr[k],1);
//在文件中各个成员中间是用逗号分开的
if (cTmp[0] != '\n')
{
strcat(cData,cTmp);
}
//将从文件中读取出的成员变量内容放入数据文件记录结构体数组中相应的位置
else
{
if (j == 0)
{
strcpy(rs[i].stuName,cData);
}
memset(cData, 0, sizeof(cData));
j++;
if(j == 1)
{
break;
}
}
}//end for
j = 0;
i++;
}//end while
fclose(fp);
//返回数据文件记录结构体数组最大下标
i--;
spit(i);
return i;
}
void spit(int max)
{
int len ;
int m=0,n=0;
int num=0;
for(num=0;num<=max;num++)
{
len = strlen(rs[num].stuName);
for(int i = 0; i<len ;i++)
{
if(rs[num].stuName[i]!=',')
{
rs[num].f[m][n] = rs[num].stuName[i];
n++;
}
else
{
m++;
n=0;
}
}
m=0;
n=0;
}
}
- C++读取CSV文件,并将逗号分隔符文件分割成N个数组
- [R] csv文件读取之逗号分隔符相关
- CSV(逗号分隔)、文本文件(制表符分隔) 等文件的读取
- CSV逗号分隔符文件解析
- CSV逗号分隔值文件
- 从CSV文件中读取数据,使用逗号','分割问题
- 从CSV文件中读取数据,使用逗号','分割问题
- 从CSV文件中读取数据,使用逗号','分割问题
- Mysql导出逗号分隔的csv文件
- Python读取csv文件分隔符设置
- java读取csv文件内容(逗号分隔、回车换行文本)
- 加载读取CSV,txt逗号分格值文件
- Python将数组(矩阵)存成csv文件,将csv文件读取为数组(矩阵)
- 利用Apache Common CSV读用逗号分隔的文件
- csv(逗号分隔值)文件用Excel编辑
- C#开发笔记-读取文件,并将文件使用分隔符隔开
- 基于Java的CSV格式文件处理(excel逗号分隔符文件)
- Java读取csv文件并将内容插入到数据库
- 12条在android开发中的代码优化建议
- 播放音乐方法(兼容IE FF Chrome Opera Safari)
- Struts2请求处理流程及源码分析
- G-1: Schedule
- Vxworks的安装
- C++读取CSV文件,并将逗号分隔符文件分割成N个数组
- eclipse C/C++开发环境配置全过程
- Android学习笔记10:SQLite的简单学习
- 关于js中"window.location.href"、"location.href
- zoj1788-Quad Trees
- uva 10099
- hdu 1575
- Algorithm(一):插入排序
- 深入剖析Redis RDB持久化机制