###前提・実現したいこと
ログイン機能
入力されたデータをファイルから読み取ったデータと同じかチェックする
###発生している問題
複数ユーザーのときできない
###該当のソースコード
C
1unsigned int Login(const char *username, const char *password) { 2 FILE *FilePointer; 3 char username2[USERNAME_MAX], password2[PASSWORD_MAX]; 4 short count = 0, EqualCount = 0, count2 = 0, equal = 0; 5 6 // Check username 7 if (fopen_s(&FilePointer, "files\system\usernames", "r") != 0) { 8 Error("Cannot open file."); 9 _getch(); 10 exit(EXIT_FAILURE); 11 } 12 while (fgets(username2, USERNAME_MAX, FilePointer) != NULL) { 13 count++; 14 if (!strcmp(username, username2)) { 15 EqualCount++; 16 break; 17 } 18 } 19 if (EqualCount == 0)return 1; 20 fclose(FilePointer); 21 22 // Check password 23 if (fopen_s(&FilePointer, "files\system\passwords", "r") != 0) { 24 Error("Cannot open file."); 25 _getch(); 26 exit(EXIT_FAILURE); 27 } 28 while (fgets(password2, PASSWORD_MAX, FilePointer) != NULL) { 29 count2++; 30 if ((count == count2) && (!strcmp(password, password2)))equal = 1; 31 } 32 fclose(FilePointer); 33 34 if (equal) { 35 strcpy_s(Username, USERNAME_MAX, username); 36 return 0; 37 } 38 else return 1; 39} 40
###補足情報(言語/FW/ツール等のバージョンなど)
VisualStudio2017
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/07 03:59
2017/10/07 04:14