【问题标题】:How do I convert this c++ function to c#? [closed]如何将此 c++ 函数转换为 c#? [关闭]
【发布时间】:2014-02-18 08:04:21
【问题描述】:

我尝试使用在线转换器,但没有成功。

C++ 函数如下。我希望它在 c# 中是等价的。

//! Save the SURF features to file
void saveSurf(char *filename, vector<Ipoint> &ipts)
{
  ofstream outfile(filename);

  // output descriptor length
  outfile << "64\n";
  outfile << ipts.size() << "\n";

  // create output line as:  scale  x  y  des
  for(unsigned int i=0; i < ipts.size(); i++) 
  {
    outfile << ipts.at(i).scale << "  ";
    outfile << ipts.at(i).x << " ";
    outfile << ipts.at(i).y << " ";
    outfile << ipts.at(i).orientation << " ";
    outfile << ipts.at(i).laplacian << " ";
    outfile << ipts.at(i).scale << " ";
    for(int j=0; j<64; j++)
      outfile << ipts.at(i).descriptor[j] << " ";

    outfile << "\n";
  }

  outfile.close();
}

我认为stream是streamwriter或者可能是filestream。

【问题讨论】:

  • 问这个问题在我看来好像犯了什么罪。 Marius Bancila 在 6 分钟内回答了这个问题,而我在接下来的 15 分钟内解决了这个问题。我真的相信没有必要这么多的反对票,也没有必要认为它是题外话。这是一个涉及两种不同语言的编程问题。

标签: c# c++


【解决方案1】:

使用TextWriter 类。

using (StreamWriter writer = File.CreateText("file.txt"))
{
    writer.WriteLine("64");
    // etc.
}

或异步:

using (StreamWriter writer = File.CreateText("file.txt"))
{
    await writer.WriteLineAsync("64");
    // etc.
}

【讨论】:

  • 什么相当于“outfile
  • 您可能会使用List&lt;T&gt; 而不是std::vector,所以应该是WriteLine(list.Count)
  • 您在 6 分钟内回答了我的问题。我在 15 分钟内实现了您的解决方案。测试又花了 10 分钟。问题就解决了。非常感谢,
猜你喜欢
  • 2020-08-26
  • 1970-01-01
  • 2021-12-12
  • 1970-01-01
  • 2021-02-15
  • 2023-03-09
  • 1970-01-01
  • 2013-09-25
  • 1970-01-01
相关资源
最近更新 更多