保存到txt
https://blog.youkuaiyun.com/CV_YOU/article/details/79160755
读写txt本文的基本操作
https://blog.youkuaiyun.com/naibozhuan3744/article/details/78678571
逐行读取txt文件
https://blog.youkuaiyun.com/stpeace/article/details/12404925
将数据添加到文件的末尾
write.open("result.txt", ios::app);
https://blog.youkuaiyun.com/qq_23880193/article/details/44279283
创建新的文件夹
windows环境下也可用函数_mkdir:
_mkdir(const char *_Path)
https://blog.youkuaiyun.com/u012005313/article/details/50688257
_mkdir(dirName.c_str());
https://blog.youkuaiyun.com/lsq2902101015/article/details/46756075
Linux
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <cstddef>
int main()
{
if(NULL==opendir("/d1/liujian/readdb/adTest/data/html"))
mkdir("/d1/liujian/readdb/adTest/data/html",0775);
return 0;
}
https://blog.youkuaiyun.com/ai2000ai/article/details/46454549
Linux下判断目录/文件是否存在
if ((dp = opendir(path)) == NULL)
{
return 0;
}
https://my.oschina.net/Tsybius2014/blog/338232
将数据格式化输出到字符串
char filename[1024];//需要预先分配缓冲区
char path1[128] = "D:\\Program\\Tesseract-OCR\\tesseract.exe";
char path2[128] = "D:\\Program\\Tesseract-OCR\\";
char path3[128] = "D:\\Program\\Tesseract-OCR\\txt";
char path4[128] = "-l chi_sim";
sprintf_s(filename,"%s %s %s %s",path1,filepath,path3,path4);
https://blog.youkuaiyun.com/tigernana/article/details/6916491
sprintf(s, "%d", 123); //产生"123"可以指定宽度,不足的左边补空格:
sprintf(s, "%8d%8d", 123, 4567); //产生:" 123 4567"当然也可以左对齐:
sprintf(s, "%-8d%8d", 123, 4567); //产生:"123 4567"
https://blog.youkuaiyun.com/Jane_yuhui/article/details/72787981
string 文件名去后缀
string imgName = "001.jpg";
string pureName = imgName.substr(0, imgName.rfind("."));
https://blog.youkuaiyun.com/Tobyzzy/article/details/80463255
解析文件路径
_splitpath( path_buffer, drive, dir, fname, ext );
https://blog.youkuaiyun.com/Jeanphorn/article/details/44937097
linux下获取文件名
http://www.voidcn.com/article/p-zfhyjpgb-bbm.html
遍历文件夹
windows
void getFiles(string path, string exd, vector<string>& files)
{
//cout << "getFiles()" << path<< endl;
//文件句柄
long hFile = 0;
//文件信息
struct _finddata_t fileinfo;
string pathName, exdName;
if (0 != strcmp(exd.c_str(), ""))
{
exdName = "\\*." + exd;
}
else
{
exdName = "\\*";
}
if ((hFile = _findfirst(pathName.assign(path).append(exdName).c_str(), &fileinfo)) != -1)
{
do
{
//cout << fileinfo.name << endl;
//如果是文件夹中仍有文件夹,迭代之
//如果不是,加入列表
if ((fileinfo.attrib & _A_SUBDIR))
{
if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)
getFiles(pathName.assign(path).append("\\").append(fileinfo.name), exd, files);
}
else
{
if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name));
}
} while (_findnext(hFile, &fileinfo) == 0);
_findclose(hFile);
}
}
https://blog.youkuaiyun.com/lhanchao/article/details/53576311
https://blog.youkuaiyun.com/zyazky/article/details/52679525
Linux 下 C++ 遍历文件夹下的文件名
#include <string>
#include <dirent.h>
#include <stdio.h>
#include <stdlib.h>
#include <string>
const char* filePath = "./imgs";
void GetFileNames(string path,vector<string>& filenames)
{
DIR *pDir;
struct dirent* ptr;
if(!(pDir = opendir(path.c_str()))){
cout<<"Folder doesn't Exist!"<<endl;
return;
}
while((ptr = readdir(pDir))!=0) {
if (strcmp(ptr->d_name, ".") != 0 && strcmp(ptr->d_name, "..") != 0){
filenames.push_back(path + "/" + ptr->d_name);
}
}
closedir(pDir);
}
https://blog.youkuaiyun.com/weixin_38419133/article/details/103561532
https://blog.youkuaiyun.com/yangguangqizhi/article/details/50414029
c++读取txt文件,按空格分割字符串
#include<sstream>
while (getline (fin, line_info)) // line中不包括每行的换行符
{
stringstream input(line_info);
//依次输出到input_result中,并存入vectorString中
cout<<"line_info: "<<line_info<<endl;
while(input>>input_result)
vectorString.push_back(input_result);
for(int j=0;j<vectorString.size();j++){
cout<<vectorString[j]<<endl;
}
}
https://www.jianshu.com/p/c096442f04ce