C++怎样搜索文件

在文件夹中有1.txt-99.txt,一共99个文件,我输入55,就会打开55.txt,同时复制到b.txt

第1个回答  推荐于2018-03-30
  首先,必须调用FindFirstFile函数来打开一个搜索句柄和获得在文件夹中的文件系统中的第一个文件的信息。
  之后,必须调用FindNextFile函数在调用FindFirstFile之后列出接下来所有的文件。
  例子:
  WIN32_FIND_DATA FindFileData;
  HANDLE hFind;
  TCHAR *FilePathBuff = L"C:\\TestFolder";
  hFind = FindFirstFile(FilePathBuff, &FindFileData);
  if (hFind == INVALID_HANDLE_VALUE)
  {
  _tprintf(TEXT("FindFirstFile failed (%d)\n"), GetLastError());
  }
  else
  {
  _tprintf(TEXT("The first file is %s\n"), FindFileData.cFileName);
  while (FindNextFile(hFind, &FindFileData) != 0)
  {
  _tprintf(TEXT("The next file is %s\n"),
  FindFileData.cFileName);
  }
  
  FindClose(hFind);本回答被网友采纳
第2个回答  2009-08-07
给你几个函数:注意是在二进制文件的操作,就是打开时用:
ofstream outfile("文件名",ios::binary);
头文件:#include <fstream>
seekp(文件中的位置);用整形来表示位移量.
seekg(位称量,参照位置);
参照位置是如下几个:
ios::beg //文件开头
ios::cur //指针的当前位置
ios::end //文件末尾
如:
infile.seekg(100) //输入文件中的指针向前移到100字节位置;
infile.seekg(-50,ios::cur) //输入文件中的指针从当前位置后移50字节;
outfile.seep(-50,ios::end) //输出文件中的指针从文件尾后移50字节
第3个回答  推荐于2016-07-24
#include<iostream>
#include<fstream>
using namespace std;

int main()
{
char fileName[20],suffix[]=".txt";
cin>>fileName;
strcat(fileName,suffix);
ifstream in(fileName,ios::binary);
ofstream out("b.txt",ios::binary);
char temp;
while(in.peek()!=-1)
{
in.read(&temp,sizeof(temp));
out<<temp;
}
system(fileName);
return 0;
}本回答被提问者采纳
第4个回答  2009-08-07
fid=55;
system(strcat(itoa(fid),".txt"));
system(strcat(strcat("copy ",strcat(itoa(fid),".txt"))),"b.txt");
第5个回答  2009-08-11
回答者: wacs5 - 首席运营官 十三级 --->>>>回答的精简
相似回答