我正在使用 C 编程语言,并试图读取二进制文件中每一行的第一个字符串。
二进制文件中的数据示例(我已写入 txt 文件以便向您展示)
伊利亚伊利亚瓦茨曼 16.00 以色列 1 0 1
我想读给该行中的第一个 Iliya(或者该行中的第一个单词是什么)。
我正在尝试以下代码,但它不断将 NULL 返回给我给他的字符串变量
以下代码:
FILE* ptrMyFile;
char usernameRecieved[31];
boolean isExist = FALSE;
ptrMyFile = fopen(USERS_CRED_FILENAME, "a+b");
if (ptrMyFile)
{
while (!feof(ptrMyFile) && !isExist)
{
fread(usernameRecieved, 1, 1, ptrMyFile);
if (!strcmp(userName, usernameRecieved))
{
isExist = TRUE;
}
}
}
else
{
printf("An error has encountered, Please try again\n");
}
return isExist;
我将 typedef 和 #define 用于布尔变量(0 为假,其他一切为真(TRUE 为真,FALSE 为假))
usernameRecieved 不断从 fread 获得 NULL 。
我应该怎么做才能解决这个问题?