home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / win_lrn / apps / openfile.lst < prev    next >
File List  |  1988-08-10  |  6KB  |  140 lines

  1.  
  2.  
  3.                                                                        PAGE   1
  4.                                                                        08-01-88
  5.                                                                        10:21:23
  6.  
  7.  Line#  Source Line                           Microsoft C Compiler Version 5.10
  8.  
  9.       1  /*   This program demonstrates the use of the function OpenFile
  10.       2   *   This function creates, opens, reopens or deletes a file.  In
  11.       3   *   this program, "OpenFile.txt" will be opened, and the contents
  12.       4   *   displayed in a MessageBox.
  13.       5   */
  14.       6  
  15.       7  #include "string.h"
  16.       8  #include <windows.h>
  17.       9  
  18.      10  #define Buf_Size 12                /* Buffer size to read with */
  19.      11  #define Name_Size 13               /* Max length for name of external 
  20.          file */
  21.      12  
  22.      13  int     read (int, char *, int);
  23.      14  int     close (int);
  24.      15  
  25.      16  int     PASCAL WinMain (hInstance, hPrevInstance, lpszCmdLine, cmdShow
  26.          )
  27.      17  HANDLE    hInstance, hPrevInstance;
  28.      18  LPSTR     lpszCmdLine;
  29.      19  int       cmdShow;
  30.      20    {
  31.      21    HANDLE hMem;
  32.      22  
  33.      23    OFSTRUCT ReOpenBuff;
  34.      24    int   errchk;
  35.      25    int   hFile;
  36.      26    char  *szBuf;
  37.      27  
  38.      28  /*********************************************************************
  39.          ******/
  40.      29  
  41.      30    MessageBox (NULL, (LPSTR)"About to open and read OPENFILE.TXT.",
  42.      31        (LPSTR)"Ready", MB_OK);
  43.      32  
  44.      33    hFile = OpenFile ( (LPSTR)"openfile.txt",   /* Open file.          *
  45.          /
  46.      34    (LPOFSTRUCT) & ReOpenBuff, OF_READ);
  47.      35    if (hFile == -1)
  48.      36      {                                      /* If not successful, say s
  49.          o.  */
  50.      37      MessageBox (NULL,
  51.      38          (LPSTR) "Problem opening file - OpenFile.txt",
  52.      39          (LPSTR) "Error",
  53.      40          MB_OK);
  54.      41      }
  55.      42    else
  56.      43      {
  57.      44      hMem = LocalAlloc (LMEM_FIXED | LMEM_ZEROINIT, Buf_Size);
  58.      45      szBuf = LocalLock (hMem);
  59.      46      errchk = read (hFile, szBuf, Buf_Size - 1);
  60.      47      szBuf[Buf_Size - 1] = '\0';
  61.      48  
  62.      49      if (errchk == -1)
  63.      50        {                     /* If problem while reading,   */
  64.      51                              /* say so.                     */
  65.  
  66.  
  67.                                                                        PAGE   2
  68.                                                                        08-01-88
  69.                                                                        10:21:23
  70.  
  71.  Line#  Source Line                           Microsoft C Compiler Version 5.10
  72.  
  73.      52        MessageBox (NULL, (LPSTR) "Problem reading file.",
  74.      53            (LPSTR) "ERROR", MB_OK);
  75.      54        }
  76.      55      errchk = close (hFile);
  77.      56      if (errchk != -1)
  78.      57        {                             /* If no error, print message box 
  79.          */
  80.      58                                      /* with file contents.            
  81.          */
  82.      59        MessageBox (NULL, (LPSTR) szBuf, (LPSTR) "Success", MB_OK);
  83.      60        }
  84.      61      else
  85.      62        {                             /* Error closing file.           *
  86.          /
  87.      63        MessageBox (NULL, (LPSTR) "File not closed", (LPSTR) "ERROR", MB
  88.          _OK);
  89.      64        }
  90.      65      }
  91.      66    LocalUnlock (hMem);
  92.      67    LocalFree (hMem);
  93.      68    return TRUE;
  94.      69    }
  95.  
  96.  
  97. WinMain  Local Symbols
  98.  
  99. Name                      Class   Type              Size   Offset  Register
  100.  
  101. errchk. . . . . . . . . . auto                             -0090 
  102. ReOpenBuff. . . . . . . . auto                             -008e 
  103. szBuf . . . . . . . . . . auto                             -0006 
  104. hFile . . . . . . . . . . auto                             -0004 
  105. hMem. . . . . . . . . . . auto                             -0002 
  106. cmdShow . . . . . . . . . param                             0004
  107. lpszCmdLine . . . . . . . param                             0006
  108. hPrevInstance . . . . . . param                             000a
  109. hInstance . . . . . . . . param                             000c
  110.  
  111.  
  112. Global Symbols
  113.  
  114. Name                      Class   Type              Size   Offset  
  115.  
  116. LocalAlloc. . . . . . . . extern  far function       ***     ***
  117. LocalFree . . . . . . . . extern  far function       ***     ***
  118. LocalLock . . . . . . . . extern  far function       ***     ***
  119. LocalUnlock . . . . . . . extern  far function       ***     ***
  120. MessageBox. . . . . . . . extern  far function       ***     ***
  121. OpenFile. . . . . . . . . extern  far function       ***     ***
  122. WinMain . . . . . . . . . global  near function      ***    0000
  123. close . . . . . . . . . . extern  near function      ***     ***
  124. pLocalHeap. . . . . . . . common  near pointer         2     ***
  125. read. . . . . . . . . . . extern  near function      ***     ***
  126.  
  127. Code size = 0116 (278)
  128. Data size = 009c (156)
  129.  
  130.  
  131.                                                                        PAGE   3
  132.                                                                        08-01-88
  133.                                                                        10:21:23
  134.  
  135.                                               Microsoft C Compiler Version 5.10
  136.  
  137. Bss size  = 0000 (0)
  138.  
  139. No errors detected
  140.