2010-07-17 2 views
0

Je suis un débutant en C# Je me demande comment écrire en C# C deQu'est-ce que C# pour C "FILE * f;"?

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); 
} 

l'aide plase.

BTW: Eh bien, je suis en train de le port FFMPEG api-exemple présenté here en utilisant Tao.FFMpeg (Tao est wrapper autour .Net C# .. ancienne et SINTAX exacte à FFMPEG lui-même) Pourriez-vous s'il vous plaît lire et que l'on dire ce que je manqué dans mon exemple de code ...

mon problème est - Je comprends comment le port FFMPEG partie et je ne det quel fichier au port IO partie \ fonction de la manière bon pour .Net

+0

Huh ... vous n'avez pas affecté la valeur de outbuf ... (plus précisément, le contenu du tableau ne sont pas définies) – luiscubal

+1

Voir le MSDN [classe File] (http://msdn.microsoft .com/fr-fr/library/system.io.file.aspx) documentation – ChrisF

Répondre

1

Eh bien, puisque l'exemple de code de la bibliothèque que vous avez fourni lit et écrit des fichiers binaires, je vous suggère de System.IO.BinaryReader et 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

Voir FileStream.WriteByte aide. Il y a un exemple.

+0

Vale, moi gusta ... pero es en espan ~ ol ... et stackoverflow n'est pas ... – Rella

+0

Version française: http: // msdn.microsoft.com/en-us/library/system.io.filestream.writebyte.aspx –

+0

Correction du lien :) – jalf

2

Votre exemple de code prête à confusion. Soit vous voulez mettre quelque chose de significatif dans le tampon et l'écrire dans le fichier, soit vous voulez lire le fichier dans le tampon.

using System.IO; 

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

byte[] someBytes = new byte[someLength]; 
// omitted: put some values into someBytes array 
File.WriteAllBytes(filePath, someBytes); 
+0

Eh bien, je suis en train d'essayer FFMPEG api-exemple présenté ici http://www.squashedfrog.net/mythtv/devdocs/api-example_8c-source.html en utilisant Tao.FFMpeg (Tao est. Wrapper .Net autour de C# .. vieux et avec sintax exact comme dans FFMPEG lui-même) donc pourriez-vous s'il vous plaît lire celui-là et dire ce que j'ai manqué dans mon échantillon de code ... – Rella