资源简介
有时需要将信息保存在Excel、Txt中,并且需要判断去重操作,重复时进行覆盖,不同时则在文件尾部写入。该程序中split为字符串分割函数,利用fseek进行重写数据的定位操作。

代码片段和文件信息
#include
#include
#include
using namespace std;
vector split(const string& s char c) // 字符串分割
{
vector str;
typedef string::size_type size_tp;
size_tp size = s.size();
size_tp i = 0 j = 0;
while (i < size)
{
while (s[i] == c)
++i;
j = i;
while (s[j] != c && j < size) ++j;
if (i != j) {
str.push_back(s.substr(i j - i));
}
i = j;
}
return str;
}
void writeExcel()
{
char buf[512] = {0};
int line_len = 0;
int len = 0;
int res;
FILE *pFile = nullptr;
pFile = fopen(“G:\\test.csv““r+“); // Excel/txt相同,只需换后缀名即可
if (!pFile)
{
pFile = fopen(“G:\\test.csv“ “w“); // 如果文件不存在,则写入文件;如果文件存在,则用r+读写模式,w会覆盖原来的内容,从开头开始写
}
char *pTemp = fgets(buf sizeof(buf) pFile);
line_len = strlen(buf);
if (pTemp == nullptr)
{
fprintf(pFile “%c%d\n“ ‘a‘ 0);
fprintf(pFile “%c%d\n“ ‘b‘ 0);
fprintf(pFile “%c%d\n“ ‘c‘ 0);
fprintf(pFile “%c%d\n“ ‘d‘ 0);
}
else
{
len = len + line_len + 1; // 加1表示回车符
while (pTemp)
{
vector vecBuf = split(buf ‘‘);
const char *first = vecBuf[0].c_str();
if (‘c‘ == *first)
{
len = len - line_len - 1 ;
res = fseek(pFile len SEEK_SET); // len 从头开始到此为止长度
printf(“%d\n“ res);
fprintf(pFile “%c%d\n“ ‘d‘ 1); // 重写一行数据
break;
}
else
{
pTemp = fgets(buf sizeof(buf) pFile);
line_len = strlen(buf) ;
len = len + line_len + 1;
}
}
if ( nullptr == pTemp )
{
fprintf(pFile “%c%d\n“ ‘s‘ 1);
}
}
/*利用ftell进行定位,注意换行符*/
/*else
{
while (pTemp)
{
vector vecBuf = split(buf ‘\t‘);
const char *first = vecBuf[0].c_str();
if (‘a‘ == *first)
{
len = ftell(pFile) - line_len - 1;
res = fseek(pFile len SEEK_SET);
printf(“%d\n“ res);
fprintf(pFile “%c\t%d\n“ ‘d‘ 1);
break;
}
else
{
pTemp = fgets(buf sizeof(buf) pFile);
line_len = strlen(buf);
len += line_len;
}
if (pTemp == nullptr)
{
fprintf(pFile “%c\t%d\n“ ‘s‘ 1);
}
}
}*/
fclose(pFile);
}
int main()
{
writeExcel();
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 28160 2018-08-07 21:11 Excel_Txt读写\.vs\ConsoleApplication1\v14\.suo
文件 7423 2018-08-07 20:36 Excel_Txt读写\ConsoleApplication1\ConsoleApplication1.vcxproj
文件 946 2018-06-20 10:59 Excel_Txt读写\ConsoleApplication1\ConsoleApplication1.vcxproj.filters
文件 165 2018-06-20 11:05 Excel_Txt读写\ConsoleApplication1\ConsoleApplication1.vcxproj.user
文件 1598 2018-08-07 20:37 Excel_Txt读写\ConsoleApplication1\Debug\ConsoleA.68352FAC.tlog\CL.command.1.tlog
文件 14926 2018-08-07 20:37 Excel_Txt读写\ConsoleApplication1\Debug\ConsoleA.68352FAC.tlog\CL.read.1.tlog
文件 752 2018-08-07 20:37 Excel_Txt读写\ConsoleApplication1\Debug\ConsoleA.68352FAC.tlog\CL.write.1.tlog
文件 239 2018-08-07 20:37 Excel_Txt读写\ConsoleApplication1\Debug\ConsoleA.68352FAC.tlog\ConsoleApplication1.lastbuildstate
文件 2650 2018-08-07 20:37 Excel_Txt读写\ConsoleApplication1\Debug\ConsoleA.68352FAC.tlog\li
文件 2582 2018-08-07 20:37 Excel_Txt读写\ConsoleApplication1\Debug\ConsoleA.68352FAC.tlog\li
文件 728 2018-08-07 20:37 Excel_Txt读写\ConsoleApplication1\Debug\ConsoleA.68352FAC.tlog\li
文件 283 2018-08-07 20:37 Excel_Txt读写\ConsoleApplication1\Debug\ConsoleApplication1.log
文件 270576 2018-08-07 20:37 Excel_Txt读写\ConsoleApplication1\Debug\Excel.obj
文件 268936 2018-06-20 11:18 Excel_Txt读写\ConsoleApplication1\Debug\excel.obj.enc
文件 617472 2018-08-07 20:37 Excel_Txt读写\ConsoleApplication1\Debug\vc140.idb
文件 389120 2018-08-07 20:37 Excel_Txt读写\ConsoleApplication1\Debug\vc140.pdb
文件 2353 2018-08-07 21:00 Excel_Txt读写\ConsoleApplication1\Excel.cpp
文件 1339 2018-06-20 10:20 Excel_Txt读写\ConsoleApplication1.sln
文件 19161088 2018-08-07 21:11 Excel_Txt读写\ConsoleApplication1.VC.db
文件 81920 2018-08-07 20:37 Excel_Txt读写\Debug\ConsoleApplication1.exe
文件 472028 2018-08-07 20:37 Excel_Txt读写\Debug\ConsoleApplication1.ilk
文件 4550656 2018-08-07 20:37 Excel_Txt读写\Debug\ConsoleApplication1.pdb
目录 0 2018-08-07 21:12 Excel_Txt读写\.vs\ConsoleApplication1\v14
目录 0 2018-08-07 21:12 Excel_Txt读写\ConsoleApplication1\Debug\ConsoleA.68352FAC.tlog
目录 0 2018-08-07 21:12 Excel_Txt读写\.vs\ConsoleApplication1
目录 0 2018-08-07 21:12 Excel_Txt读写\ConsoleApplication1\Debug
...D.H. 0 2018-08-07 21:12 Excel_Txt读写\.vs
目录 0 2018-08-07 21:12 Excel_Txt读写\ConsoleApplication1
目录 0 2018-08-07 21:12 Excel_Txt读写\Debug
目录 0 2018-08-07 21:12 Excel_Txt读写
............此处省略3个文件信息
- 上一篇:FIR302B编程器固件
- 下一篇:云南省一级B类考试模拟系统解压密码:ssl163
相关资源
- MP3文件ID3v2ID3v2APEv2标签读取
- 课程作业:模拟仓库管理系统
- 一个简单实用个人日记管理系统
- 带时间温度显示的室内灯光控制系统
- 成绩管理系统(数据结构)
- FIR低通滤波器 ccs运行环境
- C malloc函数用法
- 嵌入式局域网聊天系统客户端
- 算法竞赛入门经典 第2版刘汝佳+高清
- 基于单片机的GPS定位及显示系统设计
- 链表实现通讯录管理系统
- PowerShell-6.2.1-win-x86.zip
- pl/0编译器 语法分析
- 源程序阅读与调试课程设计报告--学生
- 谁说程序员不浪漫?!基于easyX图形库
- 编译原理课设c编译器
- MCP3421 STM32 Driver
- ADS1100 STM32 Driver
- 单片机89c52与MLX90614红外的测温程序
- stm32f103AES加密 cbc模式
- 单片机 点阵 字模提取软件
- C高级编程讲义-传智播客
- NOIP必学内容之前缀和与差分颜鸿宇
- Skyline高效检索算法实现.zip
- STM8S103系列IO模拟串口通信实现真正串
- stm32f103c8t6移植uC/OS-III基于HAL库的工程
- 温度、一氧化碳、二氧化碳、PM2.5以及
- 王道论坛计算机考研机试指南
- 有限元中网格剖分算法
- PLC开源资料
评论
共有 条评论