在 C++ 中的文件中搜索字符串

在C语言中,字符串存储在字符数组中,字符类型可以存储一个字母(我们说只有一个字母,不能再多了)。它还可以存储 -128 和 127.
由于计算机只能理解数字,因此字母会转换为数字。因此,每个字符都与一个数字相关联。C 语言可以非常快速地做到这一点。例如:

字符'a'在ASCII代码中对应于数字97。要进行检查,请键入 alt+97.

  char letter = 改为”;
  printf(%c\n”, letter);

页 频道 是类型为 char:
   char string[]=我是程序员”;

我们的目标是从文本文件中读取文本文件,并找出文本文件是否可用。字符串位于此文件中。我们在 目录 C:/test.txt” c 文件包含文本,例如一个简单的句子:我的名字是 X 和我是一名程序员。

在C中, char 通道[] 表示如下:


j
e
s
u
i
s
u
n
p
r
o
g
r
a
m
m
e
u
r
'\0'

' \0 ' 表示数组的末尾。


#include 
#include
#include <字符串>
#include
using 命名空间 std;

void searchInFile(char string[])
{
ifstream myStream(C:/test.txt”);
if(myFlow)
{
int i=0,position=0;
//按字符读取
myFlux.clear();
//初始化 0
//ios::beg: start from start
myFlux.seekg(0, ios::beg);
char c;
//只要不是文件的末尾
while(myStream.get(c))
{
//增加播放头的位置
position++;
//如果字符与
的字符匹配 ///在 i
//然后移动到下一个字符
if(c==string[i]){
i++;
//如果字符串中的所有字符都
//选中,那么我们在
//文件中找到字符串
if(i==strlen(string)) //strlen: 返回字符串的长度
printf(搜索到的字符串在位置: %d ”
并在位置 %d\n, position-strlen(字符串),position);
}
//否则如果我们找到一个不匹配的字符
///不匹配 then
//从 0
else
i=0 重新启动;
}
}
else
printf(无法打开文件\n”);
}

int main()
{
char string[]=程序员”;
searchFile(字符串);
system(暂停”);
}