117.info
人生若只如初见

C++函数CreateFileReadFileWriteFile怎么使用

函数CreateFile、ReadFile和WriteFile是Windows平台的API函数,用于创建文件、读取文件和写入文件。下面是使用这些函数的示例代码:

  1. 创建文件(CreateFile):
#include 
int main() {
HANDLE hFile = CreateFile("test.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE) {
// 文件创建失败
return GetLastError();
}
// 文件创建成功
CloseHandle(hFile);
return 0;
}

上述代码创建了一个名为test.txt的文件。

  1. 读取文件(ReadFile):
#include 
int main() {
HANDLE hFile = CreateFile("test.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE) {
// 文件打开失败
return GetLastError();
}
char buffer[100];
DWORD bytesRead;
if (ReadFile(hFile, buffer, sizeof(buffer), &bytesRead, NULL)) {
// 读取文件成功
buffer[bytesRead] = '\0'; // 添加字符串结尾标志
printf("%s", buffer);
} else {
// 读取文件失败
printf("ReadFile failed with error %d\n", GetLastError());
}
CloseHandle(hFile);
return 0;
}

上述代码打开了名为test.txt的文件,并将文件内容读取到一个缓冲区中。

  1. 写入文件(WriteFile):
#include 
int main() {
HANDLE hFile = CreateFile("test.txt", GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE) {
// 文件打开失败
return GetLastError();
}
char buffer[] = "Hello, World!";
DWORD bytesWritten;
if (WriteFile(hFile, buffer, sizeof(buffer) - 1, &bytesWritten, NULL)) {
// 写入文件成功
printf("WriteFile wrote %d bytes\n", bytesWritten);
} else {
// 写入文件失败
printf("WriteFile failed with error %d\n", GetLastError());
}
CloseHandle(hFile);
return 0;
}

上述代码打开了名为test.txt的文件,并将字符串"Hello, World!"写入文件中。

请注意,在使用这些函数之前,需要包含Windows.h头文件,并链接Windows库。此外,还需要处理错误情况,以确保函数调用成功。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe326AzsLBgJeBlI.html

推荐文章

  • C++中critical_section怎么使用

    在C++中,critical_section是一种用于实现线程互斥访问共享资源的机制。它通常用于多线程编程中,以确保多个线程不能同时访问临界区(共享资源),从而避免出现竞...

  • C++中cctouchbegan怎么使用

    在C++中,CCTouchBegan函数用于处理触摸事件的开始阶段。它通常是在继承自CCNode的类中重写的。
    下面是一个简单的示例,展示了如何使用CCTouchBegan函数:<...

  • c++中lpctstr怎么使用

    在C++中,LPCTSTR是一个指向常量的空终止字符串的指针类型。它是const TCHAR*的别名。
    TCHAR是一个根据字符集定义的宏,可以是char或wchar_t,具体取决于项...

  • C#中console.readline的用法是什么

    C#中的Console.ReadLine方法用于从控制台读取用户输入的一行文本。
    它的基本语法是:
    string input = Console.ReadLine();
    该方法会等待用户在控...

  • Springmvc ModelAndView原理及用法是什么

    Spring MVC 是一个基于Java的实现了MVC设计模式的Web框架,它使用了ModelAndView对象来封装视图和模型数据。
    原理: 当控制器方法处理完请求后,它会返回一...

  • android简单页面跳转怎么设置

    在Android中实现页面跳转需要使用Intent来进行页面之间的跳转。以下是一个简单的页面跳转示例: 首先,在AndroidManifest.xml文件中注册要跳转的Activity,例如:...

  • android怎么实现点击图片切换图片

    在 Android 中,可以通过给 ImageView 添加点击事件来实现点击图片切换图片的功能。下面是一个示例代码: 在 XML 布局文件中定义一个 ImageView: 在 Java 代码中...

  • c语言怎么清屏指定内容

    在C语言中,可以使用特定的方法清除屏幕上的内容。下面是一种常用的方法:
    #include #include void clearScreen() {
    system("cls"); // 清屏命令在不同...