如何将此 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<T>
而不是std::vector
,所以应该是WriteLine(list.Count)
。
您在 6 分钟内回答了我的问题。我在 15 分钟内实现了您的解决方案。测试又花了 10 分钟。问题就解决了。非常感谢,以上是关于如何将此 c++ 函数转换为 c#? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章