【发布时间】:2019-07-01 06:45:39
【问题描述】:
我有以下代码,但我似乎无法找到为什么我的 IF 子句在 while 循环中不起作用。否则,我可以从文本文件中提取记录。看来,当我将搜索到的值与从文本中获取的值进行比较时,没有任何反应。我正在尝试按文件中包含的条件仅打印出那些记录。
/*
* File: main.c
* Author:
*
* Created on 06 February 2019, 10:27
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
/*
*
*/
struct employee
{
char Name[100];
char Emp_ID[10];
char Sex[10];
char Department[50];
};
int main(int argc, char** argv) {
FILE *fp;
clearScreen();
struct employee emp;
fp=fopen("C:\\Users\\vdimitrov\\Documents\\NetBeansProjects\\KevinEngineering\\build\\Debug\\Cygwin-Windows\\employee.txt","r");
if (!fp) {
printf("Unable to open file!");
return -1;
}
printf("Display Employee Data Report");
while (fread(&emp,sizeof(struct employee),1,fp) != NULL) {
if(emp.Name == "Something contained in Name"){
printf("\n");
printf("\nName: %s\n", emp.Name);
printf("Emp_ID: %s\n", emp.Emp_ID);
printf("Sex: %s\n", emp.Sex);
printf("Department: %s\n", emp.Department);
}
}
printf("\nEnd Of Report\n");
fclose(fp);
return 0;
}
void clearScreen()
{
system("@cls||clear");
}
【问题讨论】: