如何将此 c++ 函数转换为 c#? [关闭]

Posted

技术标签:

【中文标题】如何将此 c++ 函数转换为 c#? [关闭]【英文标题】:How do I convert this c++ function to c#? [closed] 【发布时间】: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 分钟内解决了这个问题。我真的相信没有必要这么多的反对票,也没有必要认为它是题外话。这是一个涉及两种不同语言的编程问题。 【参考方案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 分钟。问题就解决了。非常感谢,

以上是关于如何将此 c++ 函数转换为 c#? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在c#中将对象转换为数组? [关闭]

如何将代码从 C# 转换为 PHP [关闭]

如何将此功能转换为nodejs [关闭]

在 C# 中将对象数组转换为浮点数组 [关闭]

将 C# 3D 数组作为 1D 字节数组传递给 C++ 库

Python 3.3 如何将此递归函数转换为纯 yield 循环版本?