怎样将一个char*p, p所指向的内容以字节的方式写在文件里????

解决方案 »

  1.   

    fp = fopen ("test.txt", "w+");
    fwrite (p, sizeof (char), strlen (p), fp);
    fclose (fp);
      

  2.   

    #include <stdio.h>void main( void )
    {
       FILE *stream;
       char list[30];
       int  i, numread, numwritten;   /* Open file in text mode: */
       if( (stream = fopen( "fread.out", "w+t" )) != NULL )
       {
          for ( i = 0; i < 25; i++ )
             list[i] = (char)('z' - i);
          /* Write 25 characters to stream */
          numwritten = fwrite( list, sizeof( char ), 25, stream );
          printf( "Wrote %d items\n", numwritten );
          fclose( stream );   }
       else
          printf( "Problem opening the file\n" );   if( (stream = fopen( "fread.out", "r+t" )) != NULL )
       {
          /* Attempt to read in 25 characters */
          numread = fread( list, sizeof( char ), 25, stream );
          printf( "Number of items read = %d\n", numread );
          printf( "Contents of buffer = %.25s\n", list );
          fclose( stream );
       }
       else
          printf( "File could not be opened\n" );
    }
      

  3.   

    试一下用二进制打开再写:FILE *fopen( const char *filename, const char *mode );
    FILE *_wfopen( const wchar_t *filename, const wchar_t *mode );将mode设置为b,表示:Open in binary (untranslated) mode; translations involving carriage-return and linefeed characters are suppressed.