C语言中如何在文件内查找关键字并替换

C语言中如何在文件内查找关键字并替换,第1张

获取关键字,得到它的长度,然后从 *** 作文件中读取这么长的字符串,进行比较,把

文件指针

指向下一个字符(注意,要一个字符一个字符的向下进行),这样就可以把需要的关键字找出来,如果想替换的话,把读取出的数组改成想要得再写入,最后别忘记fclose();

#获取文件名称中的特征字符串

$files=@(dir -liter ''|{$_ -is [SystemIOFileInfo]});

for($i=0;$i -lt $fileslength;$i++){

$m=[regex]::matches($files[$i]BaseName,'#[^#\s]+');

if($mcount -ge 1){

write-host $files[$i]Name;

foreach($k in $m){write-host $kgroups[0]value;}

}

}

1当文件不太大的时候,可以先打开文件,然后读取文件所有内容到一个缓冲区里,然后使用strstr来查找关键字在缓冲区哪个位置,对应文件位置用fseek就可以。

2当文件大的时候,因为你要的是字符串,为了防止漏掉,你最好不要用缓冲区去一部分一部分套。你必须打开文件,然后用fgetc这样的函数一个字符一个字符去读。当发现与关键字首字符相同的字符时,查看这个字符与后面的字符串是否能组成关键字,如果不能则继续查找,直到文件结束。

用这个函数试试

function CenterStr(Src: string; Before, After: string): string;

var

Pos1, Pos2: WORD;

begin

Pos1 := Pos(Before, Src);

Pos2 := Pos(After, Src);

if (Pos1 = 0) or (Pos2 = 0) then //如果src中没有B串和A串

begin

Result := '';

Exit;

end;

Pos1 := Pos1 + Length(Before); //句1B串起始位+B串的长度

if Pos2 - Pos1 = 0 then

begin

Result := '';

Exit;

end;

Result := Copy(Src, Pos1, Pos2 - Pos1); // 从B串后的第一字符开始复制

//此函数的作用实际上就是取得B\A两串之得的字符串,适用于BA两串已知, 要取的串由用户确定的情况

end;

用法

var

uRL,qc,hc,syc:string;

begin

URL:='<sortlist>id</sortlist>';

qc:='<sortlist>';

hc:='</sortlist>';

syc:=CenterStr(ur,qc,);

end;

public class $ {

public static void main(String _) {

String str = "123456789 abcdefg hijklmn";

Systemoutprintln(strindexOf("456"));

Systemoutprintln(strindexOf("45a"));

}

}

结果:

3

-1

如果有,就返回他的起始位置,注意是从0开始

没有,就返回-1

用循环

String[] key = { "456", "abc", "45a" };

String str = "123456789 abcdefg hijklmn";

for (int i = 0; i < keylength; i++) {

Systemoutprintln(key[i] + "的起始位置:" + strindexOf(key[i]));

}

1是搜索功能不可用吧。这样解决:

点击搜索,或者是用快捷键的时候,一点反应也没有。

点“运行”——输入“regedit” ,选择“本地机器上的HKEY_CURRENT_USER”子窗口,定位到HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer分支,再选择“编辑”菜单下的“添加数值”命令,d出添加数值窗口。在数值名称中输入“NoFind”,在数据类型下拉列表框中选择“REG_DWORD

2你这种情况是要使用搜索,很方便。点“开始”——“搜索”——“文件和文件夹”——在“文件中的一个词或一个词组”框里输入那个关键词,就能搜出那些文档的。但前提条件是你必须把电脑的搜索功能设置的能搜索。有的电脑一开始用就能搜索的。相信我吧,你会受益无穷。也可以搜索“doc”。

以上就是关于C语言中如何在文件内查找关键字并替换全部的内容,包括:C语言中如何在文件内查找关键字并替换、在powershell中如何获得文件名中的一些关键字、C语言或者C++获取文件中关键字所在位置的指针等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9777448.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存