news 2026/4/21 5:04:35

MFC 去掉CSV文件(指定文件路径)末尾的换行符

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MFC 去掉CSV文件(指定文件路径)末尾的换行符
#include <fstream> #include <string> //去掉CSV文件(指定文件路径)末尾的换行符 BOOL RemoveTrailingNewlineFromCSV2(const CString& strFilePath) { if (strFilePath.IsEmpty()) return FALSE; // 以二进制模式打开文件 std::fstream file(strFilePath, std::ios::in | std::ios::out | std::ios::binary); if (!file.is_open()) return FALSE; // 定位到文件末尾 file.seekg(0, std::ios::end); std::streampos fileSize = file.tellg(); if (fileSize <= 0) { file.close(); return FALSE; } // 从后向前查找非换行符位置 std::streampos newPos = fileSize; char ch; for (long i = (long)fileSize - 1; i >= 0; i--) { file.seekg(i, std::ios::beg); file.read(&ch, 1); if (ch == '\n' || ch == '\r') { newPos = i; } else { break; } } // 如果找到需要截断的位置 if (newPos < fileSize) { file.close(); // 重新打开文件进行截断 std::ofstream outFile(strFilePath, std::ios::binary | std::ios::in); if (!outFile.is_open()) return FALSE; // 设置文件大小(需要平台相关方法) FILE* pFile = NULL; _tfopen_s(&pFile, strFilePath, _T("rb+")); if (pFile != NULL) { _chsize_s(_fileno(pFile), (long)newPos); fclose(pFile); } } file.close(); return TRUE; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 4:51:21

VSPD虚拟串口的5个高级用法:从基础调试到TCP/IP设备模拟

VSPD虚拟串口的5个高级用法&#xff1a;从基础调试到TCP/IP设备模拟 在嵌入式开发和工业自动化领域&#xff0c;串口通信调试一直是工程师们的日常挑战。传统物理串口受限于硬件连接、端口数量和环境干扰&#xff0c;而虚拟串口技术则打破了这些限制。VSPD作为业内知名的虚拟串…

作者头像 李华