【问题标题】:Editing A Pipe Delimited File With C++?使用 C++ 编辑管道分隔文件?
【发布时间】:2011-07-01 12:35:37
【问题描述】:

我正在使用 Visual Studio 6 并想读取一个管道分隔的文件,编辑一些字段并保存文件。最好的方法是什么?例如,ADO 可以帮助我吗?或者也许是升压?虽然我研究了 Boost 字符串的东西,但它不支持 VC6。 STL 可以提供帮助吗?

抱歉,我不想浪费太多时间来处理不同的选项,因为时间紧迫。我已经浪费时间查看 Boost 却发现不支持 VC6。

【问题讨论】:

  • VC6 根本不受 Microsoft 和 Boost 的支持。如果您升级到更新的编译器,您的生活将会更加愉快。有什么理由不这样做?
  • 同意史蒂夫汤森。 VC6 是在 C++1998 标准出来时发布的,因此没有实现它。很多很多的缺陷,比如operator new返回0而不是抛出异常,没有真正的代码优化,严重的模板支持,严重的非标准扩展;它比 10 岁以上,比一些年轻的程序员还老,它不了解 1998 年之后的世界(所有新的 Windows 和现代 C++ 的东西);拜托,拜托,如果可以的话,放弃它。
  • 我完全同意。我正在为一家仍在使用 VC6 并坚持不升级代码的新公司工作。在这里进行开发的方式充其量是史前的。我一直习惯于使用最新的 VS。如此之多,我什至从不认为这是一个需要在面试中提出的问题。自从我上次使用 VC6 以来已经有很多年了,我的一部分甚至不想记住;)

标签: c++ visual-c++-6 csv


【解决方案1】:

如果文件纯粹是 |-delimited,那么您可以使用overloads of getline,它允许您指定不同的分隔符。只需“逐行”读取输入 - 每一行都是下一行的数据 |字符 - 使用stringstringstream 修改字段,然后输出,不要忘记包含'|'定界符或任何你想要的输出。

如果您的输入文件中还有换行符要处理,那么它会稍微复杂一些 - 您需要使用标准 getline 分隔符 (EOL) 将每一行读入 stringstream,然后解析并使用我上面提到的方法重新输出stringstream

【讨论】:

  • 是的,里面也有换行符。任何代码示例或链接?
  • 在这里查看答案,原来的问题是关于用换行符读取逗号分隔的数据:stackoverflow.com/questions/1757479/…
  • 谷歌有很多例子。
猜你喜欢
  • 2020-08-14
  • 1970-01-01
  • 2020-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-16
  • 2021-09-17
相关资源
最近更新 更多