【问题标题】:C# Equivalent to ifstream/ofstream in C++C# 等价于 C++ 中的 ifstream/ofstream
【发布时间】:2011-01-12 19:04:55
【问题描述】:

我知道以前可能有人问过这个问题,但我在 SO 上的任何地方都找不到它,而且我在 Google 上查找的任何内容也无法得到明确的答案。

我需要知道与 C++ 的 ifstream/ofstream 等效的 C#。

例如,如果我有以下 C++ 代码:

ifstream input("myFile.txt");
ofstream output;
output.open("out.txt");

什么是 C# 等价物?

我发现一个网站说(无论如何,对于文件内部分)等效的是:

using System.IO;

FileStream fs = new FileStream("data.txt", FileMode.Open, FileAccess.Read);

我试着把它放进去:

FileStream fs = new FileStream(input, FileAccess.Read);

我没有“FileMode”,因为 VS 无法识别它。而“input”是参数中的一个字符串,保存了输入文件名的字符串值(例如——“myFile.txt”)。

我知道我一定错过了一些愚蠢和次要的东西,但我不知道那是什么。对此的任何帮助将不胜感激!

我正在使用 VS2010、C#-4.0、WPF API 进行开发。

【问题讨论】:

标签: c++ visual-studio-2010 c#-4.0 ifstream ofstream


【解决方案1】:

FileStream 是你想要的。看一下关于流组合的 MSDN 示例here

【讨论】:

  • 感谢您的回复,尽管@Martinho Fernandes 已经给了我我需要的东西。我希望我可以将多个答案标记为已接受(此外,我希望我可以将 cmets 标记为已接受的答案),但仍然感谢您的回复!
  • 没问题,很高兴你得到了你需要的东西。
【解决方案2】:

我觉得 StreamReader/StreamWriter 提供了与 c++ 的 ifstream/ofstream 类似的功能。 FileStream 用于处理 byte[] 数据,而 StreamReader/StreamWriter 用于处理文本。

var writer = new StreamWriter(File.OpenWrite("myFile.txt");
writer.WriteLine("testing");
writer.Close();
var reader = new StreamReader(File.OpenRead("myFile.txt");
while ( !reader.EndOfStream )
{
    var line = reader.ReadLine();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多