打txt文件~
bcb 面OpenFile("bdp_sel.txt"); 是打txt文件 但是括里只能是文件的名 不能加路
有有 打"D:\Documents and Settings\A\a.txt" 的函
[解决办法]
可以带路径的,是不是你没把\写成\\?
[解决办法]
你确定你是用的OpenFile??还是FileOpen呀,这个可不一样呀,看看帮助
- C/C++ code
HFILE OpenFile( LPCSTR lpFileName, // pointer to filename LPOFSTRUCT lpReOpenBuff, // pointer to buffer for file information UINT uStyle // action and attributes );
[解决办法]
你如果确定你用的是OpenFile的话,应该像下面这样用,但我感觉明显你跟我说的不是一个函数,你这个是不是自定义的函数呀
- C/C++ code
void __fastcall TForm1::btn1Click(TObject *Sender){HFILE hFile;OFSTRUCT *buff;AnsiString FilePath = "D:\\Documents and Settings\\1\\aa.txt";buff = (OFSTRUCT *)AllocMem(sizeof(OFSTRUCT));hFile = OpenFile(FilePath.c_str(),buff,OF_READWRITE ); //if(hFile==HFILE_ERROR){ ShowMessage("打开文件失败");} else { ShowMessage("打开文件成功"); ShowMessage(buff->szPathName); }_lclose(hFile);}
[解决办法]
你的文件名,目录名是否正确,文件是否存在?
[解决办法]
你说要求或发你的代码吧,这样太累,呵呵。这个函数后面一个参数就是可以控制打开文件,读取,创建等
[解决办法]
你用WriteFile写文件就用CreateFile打开文件么,唉,弄不清你要什么了
[解决办法]
参照bcb的帮助,你上面这个问题我没有看明白,不知道你是想怎么写入数据,用什么写入数据
- C/C++ code
void __fastcall TForm1::btn3Click(TObject *Sender){ int iFileHandle; int iFileLength; int iBytesRead; char *pszBuffer; AnsiString FilePath = "D:\\Documents and Settings\\1\\aa.txt"; if(FileExists(FilePath)) { iFileHandle = FileOpen(FilePath, fmOpenReadWrite); iFileLength = FileSeek(iFileHandle,0,2); FileSeek(iFileHandle,0,0); pszBuffer = new char[iFileLength+1]; iBytesRead = FileRead(iFileHandle, pszBuffer, iFileLength); //这里读取文件到 pszBuffer,自己处理 FileClose(iFileHandle); //处理完了释放内存 delete [] pszBuffer; } else { iFileHandle = FileCreate(FilePath);//这里你要确定目录是存在的。 //FileWrite(iFileHandle, pszBuffer, iFileLength); //这里你要先把要写的内容存到 pszBuffer FileClose(iFileHandle); //处理完了释放内存 //delete [] pszBuffer; }}
[解决办法]
[解决办法]
你写函数是习惯这样简写还是根本就是这样写的,WriteFile参数还有很多的呀,你都没有写,还有,你既然用记事本打开了,用代码写进去,记事本上是不反映的,要重新打开才行。而且代码里面写数据要fmShareDenyWrite这个模式打开