如何检查字符串是否包含在C中的文件中?

时间:2014-11-30 22:07:54

标签: c file

我试图在C中的文件中找到一个字符串。我该怎么做?

声明为:

      C_paciente *inicio_cadastro_paciente;

我试过了:

int found = 0;
  while (read(inicio_cadastro_paciente, sizeof(C_paciente), 1, arq_paciente) == 1)
   {
          if (strcmp(name, (*inicio_cadastro_paciente) -> name) == 0)

     { 
   found = 1;  // we found it
   break;      // stop looking
 }
 }
  if (found) {
   printf("Name found!");
   return 1;
 }

谢谢!

1 个答案:

答案 0 :(得分:0)

请勿扫描到&name,只需使用name - 它已经是char *

scanf("%s", name);

不要依赖feof来告诉您是否找到了匹配项。如果您匹配文件中的最后一项,那将是真的。

添加如下内容:

int found = 0;

假设C_paciente.name是一个常规的,以0结尾的C字符串:

while (read(&inicio_cadastro_paciente, sizeof(C_paciente), 1, arq_paciente) == 1)
{
  if (strcmp(name, inicio_cadastro_paciente.name) == 0)
  { 
    found = 1;  // we found it
    break;      // stop looking
  }
}

if (found) {
  printf("Name found!");
  return 1;
}