首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

打開txt文件~解决方案

2012-03-30 
打開txt文件~bcb 裏面OpenFile(bdp_sel.txt) 是打開txt文件 但是括號里只能是文件的名稱 不能加路徑有

打開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;            }}
[解决办法]
探讨
我用 WinExec(("Notepad.exe " + FilePath).c_str(), NULL); 打開了txt文件
該用方法什麽寫入數據

[解决办法]
你写函数是习惯这样简写还是根本就是这样写的,WriteFile参数还有很多的呀,你都没有写,还有,你既然用记事本打开了,用代码写进去,记事本上是不反映的,要重新打开才行。而且代码里面写数据要fmShareDenyWrite这个模式打开

热点排行