Что такое C # для C "FILE * f;"? - PullRequest
0 голосов
/ 17 июля 2010

Я новичок в C # Интересно, как писать в C # C's

static void example(const char *filename)
 {
FILE *f;
outbuf_size = 10000;
outbuf = malloc(outbuf_size);

f = fopen(filename, "wb");
     if (!f) {
       fprintf(stderr, "could not open %s\n", filename);
         exit(1); 
  }

fwrite(outbuf, 1, outbuf_size, f);
fclose(f);
}

Помогите.

Кстати: я пытаюсь перенести приведенный пример API-интерфейса FFMPEG здесь с использованием Tao.FFMpeg (Tao - оболочка .Net вокруг C # .. старая и с синтаксисом, точно таким же, как в самом FFMPEG), так что вы могли бы пожалуйста, прочитайте это и расскажите, что я пропустил в моем примере кода ...

Моя проблема в том, что я понимаю, как портировать часть FFMpeg, и я просто не знаю, как портировать часть IO File \ function, что хорошо для .Net

Ответы [ 5 ]

5 голосов
/ 17 июля 2010

Вместо того, чтобы писать весь код для вас, я направлю вас к System.IO.File .

2 голосов
/ 17 июля 2010

Ваш пример кода сбивает с толку.Либо вы хотите поместить что-то значимое в буфер и записать его в файл, либо вы хотите прочитать из файла в буфер.

using System.IO;

byte[] bytesFromFile = File.ReadAllBytes(filePath);

byte[] someBytes = new byte[someLength];
// omitted: put some values into someBytes array
File.WriteAllBytes(filePath, someBytes);
1 голос
/ 20 июля 2010

Ну, так как пример кода библиотеки, которую вы предоставили, читает и записывает двоичные файлы, я бы предложил System.IO.BinaryReader и System.IO.BinaryWriter .

    static void example(string filename)
    {
        StreamReader sr;
        BinaryWriter bw;

        try
        {
            sr = new StreamReader(filename);

            bw = new BinaryWriter(File.Open("out.bin", FileMode.Create));

            bw.Write(sr.ReadToEnd());

            bw.Flush();
            bw.Close();

            sr.Close();
        }
        catch(Exception ex)
        {
            // Handle the exception
        }
    }
1 голос
/ 17 июля 2010

См. FileStream.WriteByte справка. Вот пример.

1 голос
/ 17 июля 2010

Взгляните на следующее пространство имен System.IO . В частности, вы хотите посмотреть на System.IO.File , а также System.IO.FileStream

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...