0

私は C プログラミング言語を使用しており、バイナリ File のすべての行の最初の文字列を読み取ろうとしています。

バイナリ ファイル内のデータの例 (表示するために txt ファイルに書き込みました)

Iliya Iliya Vaitzman 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 は false、それ以外はすべて true (TRUE は true、FALSE は false))。

usernameRecieved は fread から NULL を取得し続けます。

これを解決するにはどうすればよいですか?

4

2 に答える 2