我试图在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;
}
谢谢!
答案 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;
}