源代码txt(求 “.TXT文本文档”C++源代码 要API源代码,不要MFC的谢谢!或者别的文字处理程序源代码也可以)

本文目录
求 “.TXT文本文档”C++源代码 要API源代码,不要MFC的谢谢!或者别的文字处理程序源代码也可以
首先,说一下Ansi与Unicode的区别,Unicode版本的txt文件前两个字节为0xfeff,下面是我以前写的一个小程序。
当我们安装一个程序或运行一个程序时,我们想要知道这个程序做了些什么,为了了解一个程序会在硬盘上更改或安装哪些文件,我写了一个小程序。这个小程序很简单,只是调用了ReadDirectoryChangesW函数,这个函数是微软系统自带的。
#include《iostream》#include《Windows.h》#include《tchar.h》using namespace std;void main(int argc, TCHAR* argv){if(argc!=2) return; LPWSTR *szArgList; int argCount; szArgList = CommandLineToArgvW(GetCommandLine(), &argCount);TCHAR filename[MAX_PATH];wcscpy(filename,szArgList);HANDLE hFile; HANDLE hFileMapping; LPVOID pbFile; int size; hFile=CreateFile(L“C:\\filesystemchangeinfo.txt“,GENERIC_READ | GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);hFileMapping=CreateFileMapping(hFile,NULL,PAGE_READWRITE,0,sizeof(char)*2048*1024,NULL);//2MBpbFile=MapViewOfFile(hFileMapping,FILE_MAP_WRITE,0,0,NULL);DWORD drives=GetLogicalDrives();HANDLE hdir=CreateFile(filename,FILE_LIST_DIRECTORY,FILE_SHARE_READ | FILE_SHARE_DELETE | FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_FLAG_BACKUP_SEMANTICS,NULL);if(hdir==INVALID_HANDLE_VALUE)cout《《“error“;LPVOID lpBuffer=new TCHAR;DWORD ret;TCHAR str;TCHAR *p=(TCHAR*)pbFile;p=0xfeff;p++;int x;int n;x=wcslen(filename);while(1){ReadDirectoryChangesW(hdir,lpBuffer,500*sizeof(TCHAR),TRUE,FILE_NOTIFY_CHANGE_FILE_NAME + FILE_NOTIFY_CHANGE_DIR_NAME + FILE_NOTIFY_CHANGE_ATTRIBUTES +FILE_NOTIFY_CHANGE_SIZE + FILE_NOTIFY_CHANGE_LAST_WRITE + FILE_NOTIFY_CHANGE_LAST_ACCESS + FILE_NOTIFY_CHANGE_CREATION + FILE_NOTIFY_CHANGE_SECURITY,&ret,NULL,NULL);if((((FILE_NOTIFY_INFORMATION*)lpBuffer)-》FileNameLength)!=NULL){switch(((FILE_NOTIFY_INFORMATION*)lpBuffer)-》Action){case FILE_ACTION_ADDED:{n=wcslen(L“添加文件: “);wcsncpy(p,L“添加文件: “,n);p+=n;}break;case FILE_ACTION_REMOVED:{n=wcslen(L“删除文件: “);wcsncpy(p,L“删除文件: “,n);p+=n;}break;case FILE_ACTION_MODIFIED:{n=wcslen(L“修改文件: “);wcsncpy(p,L“修改文件: “,n);p+=n;}break;case FILE_ACTION_RENAMED_OLD_NAME:{n=wcslen(L“重命名(旧名字): “);wcsncpy(p,L“重命名(旧名字): “,n);p+=n;}break;case FILE_ACTION_RENAMED_NEW_NAME:{n=wcslen(L“重命名(新名字): “);wcsncpy(p,L“重命名(新名字): “,n);p+=n;}break;default:{n=wcslen(L“不知道的行为: “);wcsncpy(p,L“不知道的行为: “,n);p+=n;}}wcsncpy(p,filename,x);p+=x;wcsncpy(p,(TCHAR*)((int)lpBuffer+12),(((FILE_NOTIFY_INFORMATION*)lpBuffer)-》FileNameLength)/2);p+=(((FILE_NOTIFY_INFORMATION*)lpBuffer)-》FileNameLength)/2;p=0xd; p=0xa; p+=2;}}}
其中,ReadDirectoryChangesW函数的第5个参数可以是许多值的和,这此可能值为:FILE_NOTIFY_CHANGE_FILE_NAME0x00000001、FILE_NOTIFY_CHANGE_DIR_NAME 0X00000002、FILE_NOTIFY_CHANGE_ATTRIBUTES0x00000004、FILE_NOTIFY_CHANGE_SIZE 0x00000008、FILE_NOTIFY_CHANGE_LAST_WRITE0x00000010、FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020、FILE_NOTIFY_CHANGE_CREATION0x00000040、FILE_NOTIFY_CHANGE_SECURITY 0x00000100。关于这个函数的用法,参见VC++ SDK中的说明。运行这个程序的方法为:把要监视的文件夹拖到这个程序上,然后再做别的事,完了会在C盘生成名为filesystemchangeinfo.txt的文本文件,记录在监视的文件夹里发生的文件变动。
如何查看txt文件源码
那得看是什么文件,如果是二进制文件就没有办法看,如果是文本文件可以用记事本打开看,有些二进制文件可以用反编译器反编译后看源文件,反编译器可以从网上下载
源代码(也称源程序),是指一系列人类可读的计算机语言指令。在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。
源代码作为软件的特殊部分,可能被包含在一个或多个文件中。一个程序不必用同一种格式的源代码书写。例如,一个程序如果有C语言库的支持,那么就可以用C语言;而另一部分为了达到比较高的运行效率,则可以用汇编语言编写。较为复杂的软件,一般需要数十种甚至上百种的源代码的参与。为了降低种复杂度,必须引入一种可以描述各个源代码之间联系,并且如何正确编译的系统。在这样的背景下,修订控制系统(RCS)诞生了,并成为研发者对代码修订的必备工具之一。还有另外一种组合:源代码的编写和编译分别在不同的平台上实现,专业术语叫做软件移植。

更多文章:
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00








