2011-07-01 58 views
0

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

对不起,但我不想浪费太多的时间搞乱不同的选项,因为时间紧迫。我已经浪费时间查看Boost,但发现VC6不受支持。

+4

VC6完全不受支持,Microsoft和Boost都支持。如果你升级到更新的编译器,你的生活将会更加愉快。有什么理由不这样做? –

+1

同意Steve Townsend。当C++ 1998标准出来时,VC6被释放了,因此没有实现它。像'operator new'这样的许多缺陷返回0而不是抛出异常,没有真正的代码优化,严重的模板支持,严重的非标准扩展;它比十年前更老,比一些年轻的程序员还年长,它不知道1998年以后的世界(所有那些新的Windows和现代C++的东西);请,如果可以的话,请把它丢弃。 –

+0

我完全同意。我正在为一家仍在使用VC6的新公司工作,并坚持不升级代码。这是史前最好的发展方式。我一直习惯于使用最新的VS.非常如此,我甚至从来没有考虑过这个问题需要在面试中提出。自从我上次使用VC6已经很多年了,我的一部分人甚至不想记住;) – Jonnster

回答

2

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

如果你也有你的输入文件来处理换行符,那么它的一点点更复杂 - 你需要阅读每一行到使用标准getline分隔符(EOL)一stringstream,然后解析并重新使用我上面提到的方法输出stringstream

+0

是的,这里也有换行符。任何代码示例或链接? – Jonnster

+0

查看这里的答案,其中最初的问题是关于用换行符在逗号分隔的数据中阅读:http://stackoverflow.com/questions/1757479/getline-reading-in-a-csv-very-oddly –

+1

Google has大量的例子。 – Jay