File inhalt im buffer speichern



  • HI, ich möchte den inhalt einer .txt datei in einen buffer laden hier der code.

    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    
    void main()
    	{
    	FILE *pf;
       int inhalt[900];
       char *returncode;
    
            pf=fopen("C:\\a.txt","r");
          while(returncode!=0)
          {
          returncode = fgets(inhalt,900,pf);
          printf("%s", inhalt);
          }
          fclose(pf);
       getch();
       }
    

    ich bekomme eine fehlermeldung mit volgendem aussehen:

    Cannot convert 'int *' to 'char'
    Type mismatch in parameter '__s' in call to 'fgets(chr *,int,FILE *)'
    

    kann mir einer meinen fehler sagen bzw wie ich es besser machen kann ?



  • willst du im binaer- oder textmodus lesen?
    wie stehen die ints in der datei: als 4-byte binaerformat oder als numerale (in ascii)?



  • Ich würde sagen, dass er einfach char inhalt[900]; machen sollte 😉



  • int main (int argc, char **argv) {
        FILE *fp;
        char *mem;
        int   size;
    
        fp = fopen (argv[1], "rb");
    
        /* ende suchen und Position bestimmen */
        fseek (fp, 0, SEEK_END);
        size = ftell(fp);
    
        /* Datensatz laden */
        mem = malloc (size);
        fseek(fp, 0, SEEK_SET);
        fread(mem, filesize, 1, fp);
    
        /* irgendwas tun */
        ...
    
        /* aufräumen nicht vergessen */
        fclose (fp);
        free (mem);
    }
    

    So kann man alles in einem Rutsch lesen. Anschließend muss man dann parsen..


Anmelden zum Antworten