csv:简化版excel,在PC机上等同于excel,可进行各种excel计算、画图。

#defineEACH_FILE_MAX_BYTE52428800

//-------------------------------------------------------------------

//功能:存放数据为csv格式

//输入:filename 写入U盘的文件名称,如ai.csv。

//name 变量名称。

//value 值。

//输出:0:成功!0:失败

//备注:

//-------------------------------------------------------------------

int Hzhy_Write_CsvData(char *filename,char *name,int value)

{

int len = 0,size;

struct tm *p;

char buff[256];

time_t timep;

time(&timep);

if (InitUsb() < 0)

return -1;

p=gmtime(&timep);

size = UsbGetFileSize(filename);

if(size == 0)

{

memset(buff,0,sizeof(buff));

printf("Build new file\n");

sprintf(buff,"变量名,时间,值\n");

len = strlen(buff);

UsbWriteFile(filename,buff,len);

}

else

{

if(size > EACH_FILE_MAX_BYTE)

{

printf("Beyond the maximum byte limit !\n");

return MAX_LEN_ERROR;

}

}

/*{

static int i=0;

printf("csv%03d\n",i++);

}

*/

memset(buff,0,sizeof(buff));

sprintf(buff,"%s, %d-%d-%d %d:%d:%d,%d\n",name,(1900+p->tm_year), (1+p->tm_mon),p->tm_mday,p->tm_hour, p->tm_min, p->tm_sec,value);

len = strlen(buff);

UsbWriteFile(filename,buff,len);

return 0;

}

//-------------------------------------------------------------------

//功能:写文件(包含创建)

//输入:

//输出:>=0:写入的数目<0:失败

//备注:

//-------------------------------------------------------------------

int UsbWriteFile(char *filename, char *buf, char len)

{

int fd,ret=0;

char name[100];

if (IsUsbExist == 0)

return -1;

if (strlen(filename) > 72)

{

printf("file name too long!\n");

return -4;

}

memset(name,0,sizeof(name));

sprintf(name,usb_path);

strcat(name,filename);

//printf("path:%s\n",name);

fd = open(name,O_RDWR|O_CREAT);//写方式打开文件,如果文件不存在则创建

if((fd < 0))//打开操作不成功

{

static int cnt=0;

if (cnt == 0)

{

cnt = 1;

printf("The file can not be opened.\n");

}

return -2;

}

lseek(fd,0,SEEK_END);//文件指针移动到末尾,追加

ret = write(fd,buf,len);

if (ret < 0)

perror("write err");

close(fd);

return ret;

}

//-------------------------------------------------------------------

//功能:读文件

//输入:

//输出:>=0:读取的数目<0:失败

//备注:

//-------------------------------------------------------------------

int UsbReadFile(char *filename, char *buf, char len)

{

int fd,ret=0;

char name[100];

if (IsUsbExist == 0)

return -1;

if (strlen(filename) > 72)

{

printf("file name too long!\n");

return -4;

}

memset(name,0,sizeof(name));

sprintf(name,usb_path);

strcat(name,filename);

//printf("path:%s\n",name);

fd = open(name,O_RDONLY);

if((fd < 0))//打开操作不成功

{

static int cnt=0;

if (cnt == 0)

{

cnt = 1;

printf("The file can not be opened.\n");

}

return -2;

}

lseek(fd,0,SEEK_SET);//文件指针移动到开头

ret = read(fd,buf,len);

if (ret < 0)

perror("read err");

close(fd);

printf("read Result:\n%s\n",buf);

return ret;

}

//-------------------------------------------------------------------

//功能:获取文件大小

//输入:

//输出:文件大小

//备注:

//-------------------------------------------------------------------

int UsbGetFileSize(char *filename)

{

int fd,size=0;

char name[100];

if (IsUsbExist == 0)

return -1;

if (strlen(filename) > 72)

{

printf("file name too long!\n");

return -4;

}

memset(name,0,sizeof(name));

sprintf(name,usb_path);

strcat(name,filename);

//printf("path:%s\n",name);

fd = open(name,O_RDONLY);

if((fd < 0))//打开操作不成功

{

static int cnt=0;

if (cnt == 0)

{

cnt = 1;

printf("The file can not be opened.\n");

}

return -2;

}

size = lseek(fd,0,SEEK_END);//文件指针移动到末尾

if (size < 0)

perror("get size err");

close(fd);

//printf("size=%d\n",size);

return size;

}

c语言excel存储文件格式,C语言写excel文件(csv格式)相关推荐

  1. IOS 打开预览pdf、ppt、excel、word、tet、rtf、csv格式的文件,微信文件分享

    前言:打开预览pdf.ppt.excel.word.tet.rtf.csv格式的文件有两种一方,一种是利用 UIWebView或者WKWebView 来直接打开,另一种就是利用 QLPreviewCo ...

  2. c语言读dbf文件格式,C语言直接读取FOXBASE的DBF文件

    维普资讯 http://doc.docsou.com 1◇~ l 1 ( B s I 据的读取. 一 . 问题的提出 位置 1 表 1 D B F文件的文件参数表长度( B ) 1 船 H F OX ...

  3. python把excel变成ppt_用Python写excel和ppt文件

    #xlsx和 xls #一:openpyxl 只能读取xlsx 推荐使用的二种方法 #因为excle文件中可以有多个编排 故可以返回字典 #该方法只适应于xlsx文件,不能处理xls文件 ''' fr ...

  4. 工作记录:EasyExcel对于不定长Excel表头的处理,写excel

    一.需求 公司项目的一个功能,导出账户信息excel表格,不同的账户类型除开所要展示的固定表头字段,还要展示每个账户类型所有的特殊字段,并且将所有账户类型的数据全部展示在同一个的excel文件的不同s ...

  5. 打开EXCEL总提示 您尝试打开的文件*.xls格式与文件扩展名指定的格式不相符

    用C#导出来excel,打开时总是有个提示: 您尝试打开的文件"test.xls"的格式与文件扩展名指定的格式不一致.打开文件前请验证文件没有损坏且来源可信.是否立即打开该文件? ...

  6. java校验文件格式_java验证文件格式工具类(获取文件真实格式)

    , String>();privateVerifyFileType(){} static{ getAllFileType();//初始化文件类型信息} /*** Discription:[get ...

  7. 将unix文本文件格式转换为windows文 本文件的格式

    import sys def unix2dos(fname): dst_fname = fname + '.txt' src_fobj = open(fname) dst_fobj = open(ds ...

  8. R语言学习丨数据存储文件格式知识,CSV,EXCEL,XML,JSON,MYSQL等

    今天笔记的主要学习内容是R语言里文件相关知识,包含CSV.Excel.XML.JSON.MySQL等. CSV文件 基本介绍 CSV(Comma-Separated Values,字符分隔值,分隔字符 ...

  9. 511遇见易语言读入文件和写到文件

    读入文件()返回一个字节集,其中包含指定文件的所有数据.写到文件()本命令用作将一个或数个字节集顺序写到指定文件中,文件原有内容被覆盖.成功返回真,失败返回假.本命令为初级命令.命令参数表中最后一个参 ...

最新文章

  1. matlab编译错误怎么查找,matlab - Matlab mex文件编译错误-“未启用SSE2指令集” - 堆栈内存溢出...
  2. Android 全局字体设置 例如楷体
  3. 如何设计高效测试用例_高效的企业测试-单元和用例测试(2/6)
  4. python 跳一跳辅助_微信跳一跳辅助自动跳Python
  5. 定时器Timer的实现
  6. 人工智能 - paddlepaddle飞桨 - 深度学习基础教程 - 编程指南
  7. JavaScript(DOM编程一)
  8. 解决苹果手机点击返回键页面不刷新问题
  9. 如何屏蔽Tensorflow输出的调试和警告信息
  10. 基于Vue的单页面格式化数据高亮编辑器组件:兼容json/xml/html/txt多种格式
  11. harbor1.9.1搭建
  12. 关于cox单因素与多因素分析
  13. [ROS学习笔记1]在RViz中查看激光雷达数据
  14. 计算机 窗口打开的方法,如何打开命令行窗口?两种实用的方法介绍
  15. GPRS网络组成及接口
  16. cout保留两位小数位
  17. Python 3.x + 阿里云SDK 实现DDNS
  18. 天线测试常见问题汇总和解答
  19. 视觉生理学基础(人眼结构)
  20. 设备漏电对计算机影响,电脑机箱漏电对电脑硬件伤害大吗?

热门文章

  1. 联想微型计算机620S,小巧机身强劲性能 试用联想ideacentre 620s
  2. 贝叶斯神经网络----从贝叶斯准则到变分推断
  3. python垃圾邮件识别_Python贝叶斯推理垃圾邮件分类
  4. 飞思卡尔智能车HCS12芯片学习笔记
  5. CPU(中央处理器)和GPU(图像处理器)区别大揭秘
  6. R+VIC模型融合实践技术应用及未来气候变化模型预测/SWAT/HSPF/HEC-HMS
  7. 寄存器某一位置位或者清零
  8. 不用 Notepad++,还有更牛逼的选择!
  9. 米联客 ZYNQ/SOC精品教程 S01-CH04 VIVADO创建工程之流水灯
  10. nextInt与nextLine