文件内容更改后使用 ifstream 从同一文件读取(直到 EOF)

2024-02-06

要求 :


我必须读到 EOF(16 个字节 时间)来自特定文件,以及 然后说睡5秒。现在, 5秒后,当我尝试阅读时 从文件(其内容将 到那时已被附加), 预期的设计必须是这样的 它从它所在的点读取 之前离开并再次扫描 内容(一次 16 个字节)直到 EOF 到达了。

我已经编写了(基本)代码来使用 ifstream 从给定文件中读取(直到 EOF - 一次 16 个字节),如下所示:

#include <stdio.h> 
#include <fstream>
#include <iostream>
#include <sstream>
using namespace std;


int main() 
{ 

    int fd, i, j, length, pos;
    char buffer[100][16];
    ifstream Read;
    std::ostringstream oss;
    int current_position = 0;
    Read.open("from4to5", ios::binary);

    //Get the size of the file
    Read.seekg(0, ios::end);
    length = Read.tellg();
    Read.seekg(0, ios::beg);


    for(i=0; i<length; i++)
    {

         buffer[i][16] = '\0';
    }

    //Read the file in 16byte segments or eof(), whichever comes first
    //Testing the return condition of the function is preferred, as opposed to testing eof()

    while(Read.get(buffer[i], 17))
    {
        for(j=0; j<=16; j++)
            oss << buffer[i][j];
        cout << "Contents : " << oss.str() << endl;
        oss.seekp(0);
        i++;
    }



    // Output is :
    // Contents : BD8d3700indiaC#E
    // Contents : BD6d4700godgeD3E
    // Contents : BD9d1311badge3TE


    return 0;
}

我需要修改它以满足我的要求。我尝试使用eekg()调用,但不知何故失败了。我想知道,当我第一次访问文件并将其读取到文件流中时,程序是否会以某种方式在文件上放置独占锁,这意味着我下次将无法读取它。

谁能告诉我该怎么做?

文件名:“从4到5” 内容:

BD8d3700印度C#EBD6d4700godgeD3EBD9d1311badge3TE

5 秒内,其他进程写入(追加)到同一个文件“从4到5” Now,

文件内容:

BD8d3700印度C#EBD6d4700godgeD3EBD9d1311徽章3TEBD6d1210职员41EBD2d1100市长47EBD4d2810bread6YE

现在,当程序从文件“from4to5”读取时,它必须从之前离开的位置开始读取,每次 16 个字节,直到遇到 EOF。

这次的输出意图是:

// Output is :
// Contents : BD6d1210clerk41E
// Contents : BD2d1100mayor47E
// Contents : BD4d2810bread6YE

你必须:
保存您的位置
关闭文件
重新打开文件
寻找您保存的位置并继续阅读直到 EOF

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文件内容更改后使用 ifstream 从同一文件读取(直到 EOF) 的相关文章

  • boost::multi_index_container 复合键中的 equal_range 与比较运算符

    我正在尝试从多索引容器查询结果 其中值类型是三个元素的结构 第一个值已给出 但第二个和第三个值必须大于或小于查询参数 经过搜索后 我发现必须实现自定义密钥提取器 并且这里的一些链接建议相同 但我无法实现它 boost multi index
  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • 在 LINQ 查询中返回不带时间的日期

    我正在编写一个查询 我想计算按日期联系我们的呼叫中心的次数 看起来很简单 但由于联系日期字段是日期时间字段 我得到了时间 因此当我按联系日期 时间 分组时 每个联系日期实例的计数为 1 所以 我想只按日期分组 而不按时间分组 下面是我用来查
  • Signalr 在生产服务器中总是陷入长轮询

    当我在服务器中托管应用程序时 它会检查服务器端事件并始终回退到长轮询 服务器托管环境为Windows Server 2012 R1和IIS 7 5 无论如何 我们是否可以解决这个问题 https cloud githubuserconten
  • 如何在没有 Control.Invoke() 的情况下从后台线程修改控件属性

    最近 我们遇到了一些旧版 WinForms 应用程序 我们需要更新一些新功能 在专家测试该应用程序时 发现一些旧功能被破坏 无效的跨线程操作 现在 在您认为我是新手之前 我确实有一些 Windows 窗体应用程序的经验 我不是专家 但我认为
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • 跨多个控件共享事件处理程序

    在我用 C 编写的 Windows 窗体应用程序中 我有一堆按钮 当用户的鼠标悬停在按钮上时 我希望按钮的边框发生变化 目前我有以下多个实例 每个按钮一个副本 private void btnStopServer MouseEnter ob
  • c# Asp.NET MVC 使用FileStreamResult下载excel文件

    我需要构建一个方法 它将接收模型 从中构建excel 构建和接收部分完成没有问题 然后使用内存流导出 让用户下载它 不将其保存在服务器上 我是 ASP NET 和 MVC 的新手 所以我找到了指南并将其构建为教程项目 public File
  • Windows 窗体不会在调试模式下显示

    我最近升级到 VS 2012 我有一组在 VS 2010 中编码的 UI 测试 我试图在 VS 2012 中启动它们 我有一个 Windows 窗体 在开始时显示使用 AssemblyInitialize 属性运行测试 我使用此表单允许用户
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • 检查 url 是否指向文件或页面

    我们需要以下内容 如果文件确实是文件 则从 URL 下载该文件 否则 如果它是一个页面 则什么也不做 举个简单的例子 我有以下命令来下载文件 My Computer Network DownloadFile http www wired c
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 不同类型的指针可以互相分配吗?

    考虑到 T1 p1 T2 p2 我们可以将 p1 分配给 p2 或反之亦然吗 如果是这样 是否可以不使用强制转换来完成 或者我们必须使用强制转换 首先 让我们考虑不进行强制转换的分配 C 2018 6 5 16 1 1 列出了简单赋值的约束

随机推荐

  • 匹配和删除字符串中的 Twitter 主题标签

    仅当主题标签位于字符串末尾以外的任何位置时 我才需要从主题标签中删除 字符 例子 这个月我要去 迪士尼 WDW 这个月我要去 迪士尼 WDW 奥兰多 这个月我要去 迪士尼 WDW 奥兰多 它们需要转换为 这个月我要去迪士尼 这个月我要去迪士
  • 当 Passportjs 上使用 Google Auth 时,自定义回调从未被调用

    我尝试使用 PassportJS 登录 Google 但是当我使用自定义回调时 Google 策略从未调用回调 我究竟做错了什么 我的代码如下 端点 var router express Router router get passport
  • UITableView滚动到底部

    我有这行代码 tableView contentOffset CGPointMake 0 0f 10000000 0f 内容大小比10000000 0f 但是 UITableView 仍然没有滚动到底部 我该怎么做 滚动到tableView
  • Clock() 函数总是返回 0 [重复]

    这个问题在这里已经有答案了 可能的重复 The C clock 函数只返回零 https stackoverflow com questions 2134363 the c clock function just returns a zer
  • 在 C++ 中将矩阵定义为数组数组并计算其逆矩阵

    不幸的是 我在 C 方面没有太多经验 并且我正在努力在 C 方面取得进步 首先 我定义了数组数组 以便形成一个 3x3 矩阵 array lt array lt double gt gt input gcnew array lt array
  • C++ 中如何解析嵌套模板?

    我最近问了一个关于确定迭代器在编译时是否指向复数值的问题 并收到了有效的答案 问题在这里 如何专门针对指向复数值的迭代器的算法 https stackoverflow com questions 59954327 how can i spe
  • Espresso:匹配对话框下的视图

    我的测试用例相当简单 在主活动视图上 我有一个抽屉 该抽屉中的一个菜单项可打开一个对话框 我想断言 单击此菜单项 在打开对话框之前关闭抽屉 这是我现在所拥有的 Opens the drawer onView withId R id acti
  • WebDriver Wait '.until(ExpectedConditions.elementToBeClickable' 仅当我将 Thread.sleep(500) 添加到代码中时才有效?

    我正在尝试使用 webdriver wait 单击页面上可见的按钮 但 webdriver 仅在添加后才能单击该按钮Thread sleep到代码 在执行代码之前 我还检查了按钮是否可见 True returns true 按钮可见性检查
  • 钥匙串中的 macOS 安装程序证书评估错误:扩展密钥用法无效

    我生成了一个用于代码签名的 mac 安装程序证书 但收到一个错误 该错误阻止我使用证书对安装程序进行签名 在评估钥匙串访问中的证书时 出现错误 无效的扩展密钥用法 以下是尝试评估安装程序证书以进行代码签名时出现的错误序列 我发现使用 Xco
  • 如何启用 Android 内部应用程序共享?

    我已在 Play 控制台中上传 Android App Bundle 进行 Alpha 测试 但当我打开测试 URL 时 它显示在下面的对话框中 尝试以下选项以启用内部应用程序共享 Option 1 Step 1 打开 Play 商店 St
  • IntelliJ 中的 Google Play、Drive API 示例代码

    我正在关注Android 版 Google 云端硬盘快速入门说明 https developers google com drive quickstart android并让它在 Eclipse Kepler 中工作 Juno 就是很狡猾
  • 值不能为空。参数名称:实体集

    我有一个相当标准的设置 只有 POCO 类 public class Project public int ProjectId get set public string Name get set public int ClientId g
  • 将图像拖放到画布上 (FabricJS)

    问题 我想用图像而不是canvas目的 这意味着您必须先将要添加的内容添加到画布并作为画布的一部分 然后才能添加它 这些图像实际上是网站的一部分 因此不需要做一些复杂的事情 我在这里找到的这段代码仅适用于对象而不是实际元素的情况 顺便说一句
  • 在 UITableView 中滚动时视图被替换

    我是一名 Android 开发人员 对 iOS 应用程序开发非常陌生 我正在尝试构建一个简单的聊天系统 每个单元格中只有一行数据 我正在使用自定义UIView类来生成气泡和UILabel and an UIImageView以编程方式 当我
  • Python 从键列表生成动态字典

    我确实有一个清单 如下所示 keyList1 Person Male Boy Student id 123 Name value1 Roger 如何生成可以按如下方式检索的动态字典 mydict Person Male Boy Studen
  • Bigquery - 计划存储过程不再工作

    最近 Bigquery UI 发生了变化 似乎不再可以安排存储过程自动执行 使用 UI 只是不断要求插入目标表 如果我放置一个虚拟表 则会创建计划 但是当尝试执行时只会抛出一个错误 表明在执行存储过程时我们无法拥有目标表 有人遇到这个问题并
  • SQL 注入预防 - GET_VARS

    我有一个网址 有效时将如下所示 site com page php id 12345 我试图了解我们是否容易受到 sql 注入的攻击 在这个特定的实例中 该值只能是正整数值 因为它是一个 ID 号 我们有时确实使用其他变量 可以是字母或文本
  • Groovy 中分割字符串的惯用方法

    是否有更好 更短 更好的方法来执行以下操作 filename AA BB CC DD EE FF xyz parts filename split packageName parts 0 parts 1 parts 2 parts 3 pa
  • AngularJS - 单个模板中的多个 ng-view

    我正在使用 AngularJS 构建一个动态 Web 应用程序 是否可以有多个ng view在一个模板上 你可以只拥有一个ng view 您可以通过多种方式更改其内容 ng include https docs angularjs org
  • 文件内容更改后使用 ifstream 从同一文件读取(直到 EOF)

    要求 我必须读到 EOF 16 个字节 时间 来自特定文件 以及 然后说睡5秒 现在 5秒后 当我尝试阅读时 从文件 其内容将 到那时已被附加 预期的设计必须是这样的 它从它所在的点读取 之前离开并再次扫描 内容 一次 16 个字节 直到