用system函数实现指定路径下的文件读取

时间:2024-05-23 10:24:50

小白记录贴~

原本使用bat文件也可实现指定路径下的文件读取。现在想去掉单独的bat文件,将代码写进C++程序中。

一、读取当前目录下的图片名称

脚本写法

在要读取图片名称的文件夹下,建立后缀为bat的文件,如getFileList.bat,双击即可运行。用记事本等工具打开,写入如下代码:

DIR *.jpg /B > list.txt

功能:将当前目录下格式为jpg的图片名称写入list.txt中,并保存在当前目录下。

如图所示:

用system函数实现指定路径下的文件读取

用system函数实现指定路径下的文件读取

C++中的写法

使用system()函数,就不用单独写bat文件了。

如图片与C++程序不在同一路径,则代码如下,生成的list.txt文件在C++的程序文件夹下。

#include <stdio.h>
#include <iostream>
using namespace std;

void runBat() {
	system("DIR /B G:\\图片\\test\\*.jpg > list.txt");
}

int main() {
    runBat();
}

如将图片放入 C++程序文件夹下,则system语句中不用写图片路径:

void runBat() {
	system("DIR *.jpg /B > list.txt");
}

二、读取指定目录下的图片名称

C++中的写法

#include <stdio.h>
#include <iostream>  
using namespace std;

void runBat(char* path) {
	char cmd[256];
	sprintf_s(cmd, "DIR /b %s\\*.jpg > list.txt", path);
	system(cmd);
}

int main(){
    cout << "输入要标注的文件夹路径:" << endl;
	char picPath[256];
	cin>>(picPath);
	runBat(picPath);
}

输入要读取图片名称的文件夹路径即可。

用system函数实现指定路径下的文件读取

三、碎碎念

如果想实现其他功能,如读取其他格式的文件,或希望读取的时候能带文件路径等,可自行了解DIR命令~

 

相关文章