C # Эквивалент для объявления FILE

Возможный дубликат:
изменить расширение файла c #

Следующий код на C ++, как бы я представить это в C #?

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

Другой вопрос, связанный с этой темой:

Эквивалент в c # для следующего:

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

2

Решение

Как насчет:

FileStream fs = File.OpenWrite(Path.ChangeExtension(Application.ExeName, "DAT"));
8

Другие решения

Вы можете открыть (создать) FileStream на основе имени EXE:

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

или, может быть, TextWriter ближе к C / C ++ FILE :

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

Но учтите, что запись в папку ProgramFiles для обычных пользователей запрещена.

4

Не скомпилировали, но это может дать вам представление.

string appName = Assembly.GetExecutingAssembly().Location;
FileStream s = File.Open(Path.ChangeExtension(appName , ".DAT"), FileMode.OpenOrCreate);
1