热情软件屋

 

请问如何创建、打开、读写文件


编号:QA001811
建立日期: 1999年10月3日 最后修改日期:2001年3月1日
所属类别:

shiheng:
    Win98
    VC5.0
    请问如何创建、打开、读写文件?

回答:

    VC++中可以使用C语言的读写文件的函数。
    C语言的文件读写分为两类,一类是流式I/O的,另一类是低级I/O的。前者是ANSI标准规定的,在所有C语言中都可以使用;后者是非标准的,不同C语言编译器中使用方法可能不同,但速度可能稍快。
    流式I/O使用fopen打开或创建文件,用fclose关闭文件,用fread、fgets、fgetc、fscanf等函数读文件,用fwrite、fputc、fputs、fprintf等函数写文件。用fseek函数移动文件指针。
    低级I/O(VC++中)使用_open打开文件,_create创建文件,用fclose关闭文件,用_read函数读文件,用_write函数写文件。用_lseek函数移动文件指针。
    你可以参考任何一本介绍C语言的书,如潭浩强的《C语言》,里面都会有详细的介绍。
    也可以使用API函数来读写文件,其基本方法同C语言类似。使用CreateFile打开或创建文件,用CloseFile关闭文件,用ReadFile等函数读文件,用WriteFile等函数写文件。用SetFilePointer函数移动文件指针。
    另外,可以参考QA001038 "C++ 中用什么类来代替C中fopen等函数"
    
    敲门问:
    操作系统: win98
    编程工具: c++
    问题: 我用CreateFile()新建了一个文件 ,但我不知道如何使用 ReadFile() 和 WriteFile();,
    这两个API的申明我都没有可有些不明白,
    声明如下:
    WriteFile(HANDLE hFile,LPCVOID lpBuffer,DWORD nNumberOfBytesToWrite,LPDWORD lpNumberOfBytesWritten,LPOVERLAPPED lp Overlapped);
    哪位大侠可否给我一个具体的例子看看,
    比如我新建一个文件如下:
    xxx = "d:\\2222.txt";
    hFile = CreateFile(xxx.c_str(),GENERIC_READ|GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
    现在想向文件里写入如下字符串"love",
    请给个实例吧!!
    水平: 中级
    答:可以这样:
    DWORD dwBytes;
    CString s = "love";
    WriteFile(hFile, (LPCVOID)((LPCTSTR)s, s.GetLength(), dwBytes, FALSE);

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio