1.怎么读出指定文件夹下的所有文件名并返回字符串数组
1、在linux平台,可采用目录操作函数,读取当前目录下的文件
#include <sys/types.h>
#include <dirent.h> //windows开发工具没有这个头文件
#include <unistd.h>
#include <string.h>
main()
{
DIR * dir;
struct dirent * ptr;
char file_list[100][40];
int i=0;
dir = opendir("/etc/rc.d"); //打开一个目录
while((ptr = readdir(dir)) != NULL) //循环读取目录数据
{
printf("d_name : %s\n", ptr->d_name); //输出文件名
strcpy(file_list[i],ptr->d_name ); //存储到数组
if ( ++i>=100 ) break;
}
closedir(dir);//关闭目录指针
}
2、在windows平台下,如VC也有类似的操作函数,如:
#include <string>
#include <iostream>
using namespace std;
#include <WINDOWS.H>
void main()
{
string szPath="d:/*.*";
WIN32_FIND_DATA wfd;
HANDLE hFind;
char file_list[100][40];
int i=0;
hFind = FindFirstFile(szPath.c_str(), &wfd) ;
do
{
cout << wfd.cFileName << endl ;
strcpy(file_list[i],wfd.cFileName ); //存储到数组
if ( ++i>=100 ) break;
}while (FindNextFile(hFind, &wfd));
FindClose(hFind);
}
2.Win10桌面文件名重命名时显示不全如何解决?
1、首先右键点击桌面选择显示设置; 2、查看分辨率是否设置到推荐的分辨率,如果没有那么设置为推荐的分辨率如下图; 3、如果没有推荐分辨率或是设置了推荐的分辨率还是无效,那么可能是显卡驱动问题,建议更新显卡驱动程序更新显卡驱动程序的几种方法a、去官方网站下载针对Win10的显卡驱动后安装b、利用Win10系统的自动更新来更新显卡驱动c、使用驱动大师、驱动精灵等驱动软件来更新显卡驱动。
驱动更新完成后,分辨率设置正确,就不会再出现桌面文件重命名时字符显示不全的情况了。
3.如何在硬盘上查找多个文件中字符串
Windows 系统的 FindStr。
exe 可以搜索各类文件中的字符串,但仅限于ANSI保存的文件,虽然采取一些方法,可以使用批处理来实现对UTF-8、UniCode编码进行搜索,但效率不是很高。一般还是编程搜索要快得多。
FindStr。 exe的具体参数查看:开始--运行,输入 ?cmd ? /k ?FindStr。
exe ?/? 回车,显示内容如下: 在文件中寻找字符串。 ? FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file] ? ? ? ? [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]] ? ? ? ? strings [[drive:][path]filename[ 。
]] ? ? /B ? ? ? ? 在一行的开始配对模式。 ? /E ? ? ? ? 在一行的结尾配对模式。
? /L ? ? ? ? 按字使用搜索字符串。 ? /R ? ? ? ? 将搜索字符串作为一般表达式使用。
? /S ? ? ? ? 在当前目录和所有子目录中搜索匹配文件。 ? /I ? ? ? ? 指定搜索不分大小写。
? /X ? ? ? ? 打印完全匹配的行。 ? /V ? ? ? ? 只打印不包含匹配的行。
? /N ? ? ? ? 在匹配的每行前打印行数。 ? /M ? ? ? ? 如果文件含有匹配项,只打印其文件名。
? /O ? ? ? ? 在每个匹配行前打印字符偏移量。 ? /P ? ? ? ? 忽略有不可打印字符的文件。
? ? /OFF[LINE] 不跳过带有脱机属性集的文件。 ? /A:attr ? ?指定有十六进位数字的颜色属性。
请见 "color /?" ? /F:file ? ?从指定文件读文件列表 (/ 代表控制台)。 ? /C:string ?使用指定字符串作为文字搜索字符串。
? /G:file ? ?从指定的文件获得搜索字符串。 (/ 代表控制台)。
? /D:dir ? ? 查找以分号为分隔符的目录列表 ? strings ? ?要查找的文字。 ? [drive:][path]filename ? ? ? ? ? ? ?指定要查找的文件。
? 除非参数有 /C 前缀,请使用空格隔开搜索字符串。 例如: 'FINDSTR "hello there" x。
y' 在文件 x。y 中寻找 "hello" 或 "there"。
'FINDSTR /C:"hello there" x。y' 文件 x。
y ?寻找 "hello there"。 ? 正则表达式的快速参考: ? 。
? ? ? ?通配符: 任何字符 ? * ? ? ? ?重复: 以前字符或类出现零或零以上次数 ? ^ ? ? ? ?行位置: 行的开始 ? $ ? ? ? ?行位置: 行的终点 ? [class] ?字符类: 任何在字符集中的字符 ? [^class] 补字符类: 任何不在字符集中的字符 ? [x-y] ? ?范围: 在指定范围内的任何字符 ? x ? ? ? Escape: 元字符 x 的文字用法 ? ? ?字位置: 字的结束 ? 有关 FINDSTR 常见表达法的详细情况,请见联机命令参考。
4.如何查找目录下包含某个字符串的所有文件
文本编辑器工具,比如sublime 进去ctrl+shift+f 整个目录搜索 ,
左侧是你的当前目录内的所有文件,*.*表示所有文件名的所有格式你也可以是设置比如查找txt文件
流程:
查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名find.|xargs grep-ri"IBM"-l
1.正则表达式
(1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/、*、?等)组成。(2)基本元字符集及其含义
只匹配行首。如^a 匹配以a开头的行abc,a2e,a12,aaa,.
只匹配行尾。如^a 匹配以a结尾的行bca,12a,aaa,.
匹配0个或多个此单字符。如(a)*匹配 空,a,aa,aaa,.
[]:只匹配[]内字符。可以是一个单字符,也可以是字符序列,用","将里面要匹配的不同字符串分开。也可以使用-来表示[]内字符序列的范围,如[1-5]表示[12345]
\:只用来屏蔽一个元字符的特殊含义。如\*,\',\",\|\+,\^,\.等
(点)只匹配任意单字符。pattern\{n\}:只用来匹配前面pattern出现的次数.n为次数。如a\{2\}匹配aa.pattern\{n,\}:含义同上,但次数最少为n.如a\{2,\}匹配aa,aaa,aaaa,.pattern\{n,m\}:含义同上,但次数在n和m之间。如a\{2,4\}匹配aa,aaa,aaaa三个
(3)举例说明:
匹配空行
希望能帮到大家
转载请注明出处windows之家 » win10显示文件名所有字符串