切换风格

Wizard Sky California Sunset glow Black Cloud Beige Dragon Lavender NewYear City Snow Flowers London
收藏本站XSS平台字符串转换jsfuck
无关php的问题[复制链接]
发表于 2012-12-31 20:11:23 | 显示全部楼层 |!read_mode!
这个程序是windows  api  操作文件的程序

刚才  我调试了很长时间  读取文件的内容的时候都是报错    但是当我注释掉写操作的函数后就能正常读取   突然脑袋中灵光一现    原来是写操作完成的时候没有关闭文件句柄  以至于读的时候不能操作正确的句柄   !!!  问题再一次的解决了  非常高兴!!!!

各位可以看下 和php操作文件 异同  其实大体步骤都是一样的   这里的CreateFile()函数 相当于php中的fopen()

以下是源程序  

#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
int main(){
        DWORD ReadFileContent(LPSTR filepath);
        DWORD SaveDataToFile(LPSTR filepath,LPSTR content,DWORD size);
        LPSTR path="c:\\show.txt";
        LPSTR content="this is a test";
        DWORD filesize=strlen(content);
        SaveDataToFile(path,content,filesize);
        ReadFileContent(path);
        return 0;
}

DWORD SaveDataToFile(LPSTR path,LPSTR con,DWORD size){
        HANDLE handle;
        handle=CreateFile(path,GENERIC_WRITE,0,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
        if(handle == INVALID_HANDLE_VALUE){
                MessageBox(NULL,TEXT("Create falid!!!!!!"),TEXT(""),MB_OK);
                exit(-1);
        }
        DWORD i;
        if(WriteFile(handle,con,size,&i,NULL)){
                MessageBox(NULL,TEXT("Write Sucess"),TEXT("OK"),MB_OK);
        }
        CloseHandle(handle); //关闭文件句柄
        return 0;
}

DWORD ReadFileContent(LPSTR path){
        HANDLE Rhandle;
        Rhandle=CreateFile(path,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
        if(Rhandle == INVALID_HANDLE_VALUE){
                MessageBox(NULL,TEXT("Create falid"),TEXT(""),MB_OK);
                exit(-1);
        }
        char buff[20];
        unsigned long a;
        if(ReadFile(Rhandle,buff,20,&a,NULL)){
                MessageBox(NULL,buff,TEXT(""),MB_OK);
        }
        CloseHandle(Rhandle);//关闭文件句柄
        return 0;
       
}

发表于 2013-1-1 12:38:40 | 显示全部楼层
不错   那为啥不用php直接操作撒
发表于 2013-1-1 15:13:33 | 显示全部楼层
抚菊深思 发表于 2013-1-1 12:38
不错   那为啥不用php直接操作撒

在学win32 api     php也可以调用的 但是我觉得 php的主要用途还是web

代码区

GMT+8, 2019-12-14 10:48

Powered by Discuz! X2

© 2001-2018 Comsenz Inc.

回顶部