日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

win32文件读写demo

發(fā)布時(shí)間:2025/4/14 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 win32文件读写demo 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

新建一個(gè)控制臺(tái)工程;代碼;

// file.cpp : Defines the entry point for the console application. //#include "stdafx.h" #include <windows.h> #include <tchar.h> #include <stdio.h>HANDLE hOutput;void perro(LPTSTR pszTitle){LPVOID pvErrMsg = NULL;DWORD nError = GetLastError();FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,NULL, nError,MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED),(LPTSTR)&pvErrMsg,0, NULL);TCHAR szText[256];HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);wsprintf(szText, "%s(errno=%d):%s\n", pszTitle, nError, (LPTSTR)pvErrMsg);WriteConsole(hOutput, szText, wcslen(szText), NULL, NULL);WriteConsole(hOutput, szText, 50, NULL, NULL);LocalFree(pvErrMsg); }void Create() {HANDLE hFile = CreateFile(_T("Y:/file.txt"), GENERIC_WRITE,FILE_SHARE_READ, NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL, NULL);CloseHandle(hFile); } void Write() {HANDLE hFile = CreateFile(_T("Y:/file.txt"), GENERIC_WRITE,FILE_SHARE_READ, NULL, OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL, NULL);// 1 多字節(jié)字符集CHAR szText[] = "hello win32 file";DWORD nLen = 0;WriteFile(hFile, szText, strlen(szText), &nLen, NULL);printf("準(zhǔn)備寫入:%d,實(shí)際寫入:%d\n",strlen(szText), nLen);// 2 Unicode字符集//TCHAR szText[] = _T("hello file");//DWORD nLen = 0;//WriteFile(hFile, szText, wcslen(szText)*sizeof(szText[0]), &nLen, NULL);//TCHAR pszText[256] = { 0 };//wsprintf(pszText, _T("準(zhǔn)備寫入:%d,實(shí)際寫入:%d\n"), wcslen(szText), nLen);//WriteConsole(hOutput, pszText, wcslen(pszText), NULL, NULL);CloseHandle(hFile); } void Read() {HANDLE hFile = CreateFile(_T("y:/file.txt"),GENERIC_READ, FILE_SHARE_READ, NULL,OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL,NULL);DWORD nHight = 0;DWORD nLow = GetFileSize(hFile, &nHight);DWORD nLen = 0;// 1 多字節(jié)字符集//CHAR szText[256] = { 0 };//ReadFile(hFile, szText, nLow, &nLen, NULL);//printf("數(shù)據(jù):%s,準(zhǔn)備讀取:%d,實(shí)際讀取:%d\n",szText, nLow, nLen);// 2 Unicode 字符集TCHAR szText[256] = { 0 };ReadFile(hFile, szText, nLow, &nLen, NULL);TCHAR pszText[256] = { 0 };wsprintf(pszText, _T("數(shù)據(jù):%s, 準(zhǔn)備讀取 : %d, 實(shí)際讀取 : %d\n"), szText, nLow, nLen);//WriteConsole(hOutput, pszText, wcslen(pszText), NULL, NULL);WriteConsole(hOutput, pszText, 150, NULL, NULL);CloseHandle(hFile); } void UseFile() { // CopyFile( _T("y:/file.txt"), _T("Y:/123/nofile.txt"), FALSE ); // DeleteFile( _T("y:/file.txt"));MoveFile(_T("y:/123/nofile.txt"), _T("y:/file.txt"));perro(_T("MoveFile")); }int _tmain(int argc, _TCHAR* argv[]) {hOutput = GetStdHandle(STD_OUTPUT_HANDLE);Create( );Write( );Read( );//UseFile();return 0; }

運(yùn)行如下;

WriteConsole(hOutput, szText, wcslen(szText), NULL, NULL) 這句,wcslen(szText)會(huì)報(bào)如下的錯(cuò),

? ? 先改為直接使用數(shù)值,?WriteConsole(hOutput, szText, 50, NULL, NULL);

如果要使用printf則包含?#include <stdio.h>;

hOutput = GetStdHandle(STD_OUTPUT_HANDLE),獲取控制臺(tái)窗口句柄;

WriteConsole(hOutput, szText, 50, NULL, NULL),往控制臺(tái)窗口寫;

總結(jié)

以上是生活随笔為你收集整理的win32文件读写demo的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。