3

可能重复:
更改文件扩展名 c#

下面的代码是用 c++ 编写的,我将如何在 c# 中表示它?

FILE fp = fopen(ChangeFileExt(Application.ExeName, ".DAT").c_str(), "w");

与此主题相关的另一个问题是:

c# 中的等价物如下:

fputs((thisstring.CommaText + "\n").c_str(), fp); 
4

3 回答 3

9

怎么样:

FileStream fs = File.OpenWrite(Path.ChangeExtension(Application.ExeName, "DAT"));
于 2012-09-19T09:18:27.300 回答
4

您可以根据 EXE 名称打开(创建)一个 FileStream:

FileStream fs = File.Create(
        Path.ChangeExtension(Application.ExeName, "dat"));

或者 TextWriter 更接近 C/C++ FILE

StreamWriter writer = File.CreateText(
        Path.ChangeExtension(Application.ExeName, "dat"));

但请注意,普通用户禁止写入 ProgramFiles 文件夹。

于 2012-09-19T09:19:31.813 回答
1

还没有编译它,但这可能会给你一个想法。

string appName = Assembly.GetExecutingAssembly().Location;
FileStream s = File.Open(Path.ChangeExtension(appName , ".DAT"), FileMode.OpenOrCreate);
于 2012-09-19T09:19:59.663 回答