C++删除文件末尾的空行

本文介绍了如何使用C++高效地删除文件末尾的空行,节省了开发者的时间。文中提到了Java的简洁实现,并感谢提供帮助的资源,包括微软官方文档和一篇名为“太乙”的用户的文章。同时,还提及了如何在C++中修改或截断文件内容的相关技巧。
摘要由CSDN通过智能技术生成

C++为了删除文件末尾的空行花了我一晚上,分享出来给大家节省时间
同学用Java删的特别快就写了短短几行

//头文件和命名空间
#include<iostream>
#include<fstream>
#include<stdio.h>
#include<io.h>
using namespace
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于统计C++文件的行数,可以使用以下高效的算法: 1. 打开C++文件,并创建一个计数器变量,初始化为0。 2. 逐行读取文件内容,直到到达文件末尾。 3. 对于每一行,检查是否为空行或者只包含空格和制表符。如果是空行,则不增加计数器;否则,增加计数器值。 4. 继续读取下一行,重复步骤3。 5. 当到达文件末尾时,计数器的值就是文件的总行数。 这个算法的时间复杂度为O(n),其中n为文件的行数。由于只需要一次遍历文件即可完成统计,所以是一个高效的算法。 以下是一个示例代码实现: ```cpp #include <iostream> #include <fstream> #include <string> int countLines(const std::string& filename) { std::ifstream file(filename); if (!file.is_open()) { std::cerr << "Failed to open file: " << filename << std::endl; return -1; } int lineCount = 0; std::string line; while (std::getline(file, line)) { if (!line.empty() && line.find_first_not_of(" \t") != std::string::npos) { lineCount++; } } file.close(); return lineCount; } int main() { std::string filename = "example.cpp"; int lineCount = countLines(filename); if (lineCount >= 0) { std::cout << "Total lines in " << filename << ": " << lineCount << std::endl; } return 0; } ``` 你可以将需要统计行数的C++文件名传递给`countLines`函数,它会返回文件的总行数。请注意,这个示例代码假设文件是以正确的编码格式打开的,并且没有注释和预处理指令等特殊情况。如果需要考虑更复杂的情况,可以在算法中进行相应的修改。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值