新建一个控制台工程;代码;

// 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 多字节字符集CHAR szText[] = "hello win32 file";DWORD nLen = 0;WriteFile(hFile, szText, strlen(szText), &nLen, NULL);printf("准备写入:%d,实际写入:%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("准备写入:%d,实际写入:%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 多字节字符集//CHAR szText[256] = { 0 };//ReadFile(hFile, szText, nLow, &nLen, NULL);//printf("数据:%s,准备读取:%d,实际读取:%d\n",szText, nLow, nLen);// 2 Unicode 字符集TCHAR szText[256] = { 0 };ReadFile(hFile, szText, nLow, &nLen, NULL);TCHAR pszText[256] = { 0 };wsprintf(pszText, _T("数据:%s, 准备读取 : %d, 实际读取 : %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;
}

运行如下;

WriteConsole(hOutput, szText, wcslen(szText), NULL, NULL) 这句,wcslen(szText)会报如下的错,

先改为直接使用数值, WriteConsole(hOutput, szText, 50, NULL, NULL);

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

hOutput = GetStdHandle(STD_OUTPUT_HANDLE),获取控制台窗口句柄;

WriteConsole(hOutput, szText, 50, NULL, NULL),往控制台窗口写;

win32文件读写demo相关推荐

  1. java 文件读写demo

    分析错误日志: import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException;public ...

  2. c语言infile和outfile用法,C语言文件读写基本操作DEMO

    DEMO 来源于<C语言实战105例>中的34例:文件读写基本操作 把infile中的内容写到outfile中去 #include #include int main() { FILE * ...

  3. Win32 基本文件读写操作

    一.创建文件 HANDLE hFile = ::CreateFile(TEXT("E:\\CreateFileDemo.txt"), //创建文件的名称.GENERIC_WRITE ...

  4. java大文件读写操作

    转载自:http://blog.csdn.net/akon_vm/article/details/7429245 RandomAccessFile RandomAccessFile是用来访问那些保存数 ...

  5. [转]ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调

    本文转自:http://www.cnblogs.com/artwl/p/3396330.html 近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0, ...

  6. VC中海量文件读写类设计与应用(转)

    VC中海量文件读写类设计与应用   沈瑞冰 摘要 本文阐述了海量文件读写的一般方法,并分析了该方法中存在的内存耗尽问题和解决办法,并就此设计了一个海量文件读写类,封装了海量文件读写操作,最后给出了一个 ...

  7. MFC中的文件读写技术

    计算机室如何管理自身所存放着的大量的信息的呢?windows的磁盘管理程序为我们提供了一套严密而又高效的信息组织形式--硬盘上的信息是以文件的形式被管理的. 面向存储的文件技术 什么是文件?计算机中, ...

  8. ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调

    近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0,现把学习结果分享一下,希望对新手有帮助. 目录 ActionScript 3.0简介 Hello ...

  9. VC中海量文件读写类设计与应用

    VC中海量文件读写类设计与应用 文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类,常用的有Win32 API的CreateFile().WriteFile ...

最新文章

  1. protobuf的编译
  2. 在全局中调用类的静态成员函数
  3. nyoj359Delete it
  4. JavaScript 的性能优化:加载和执行
  5. 解析几何复习(一)向量代数
  6. ubuntu下修改用户的默认目录
  7. nginx 405 not allowed问题解决方法
  8. java读取bny_java转义字符
  9. 优思学院|2021中质协六西格玛绿带考题及答案
  10. HDOJ 1001 Sum Problem
  11. firefox不能正常下载文件
  12. RepMet: Representative-based metric learning for classification and few-shot object detection
  13. 机器学习之GD、SGD
  14. 华为笔记本换装linux双系统,matebook的win+ubuntu双系统安装方法
  15. 终极 Shell——ZSH
  16. NFT艺术品交易平台有哪些?
  17. 表连接on 和where的区别
  18. 一些vue功能和css样式
  19. 鉴权 前后端常见的几种鉴权方式
  20. 多个输入框失焦事件触发异常问题解决

热门文章

  1. [转载] FatFs模块功能配置选项
  2. java的知识点45——事务||测试时间处理(java.sql.date,time,timestamp)
  3. JavaScript 技术篇-chrome浏览器读取剪切板命令document.execCommand(‘paste‘)返回false原因及解决方法
  4. PyQt5 技术篇-如何彻底删除控件?布局移除控件方法。
  5. css知识点笔记-常用属性
  6. vue项目设置img标签的默认图片
  7. sepFilter2D函数
  8. VS在windows进行网络开发UDP(一)
  9. 第一次上课:特征值特征向量的几何直观
  10. Python:cv2.imread读入图片后返回NoneType的解决方案