我問兩個簡單的用戶輸入,一個用戶和一個密碼,然後我將它們插入到一個文本文件中,每個文件後面都有一個分號。分號保存和密碼保存,但用戶名不能保存一些奇怪的原因。插入到文本文件空白
例如,如果我輸入喬密碼111222444555它會 顯示爲;111222444555;
代替Joe;111222444555;
代碼:
int main()
{
int Number_Of_Attempts = 3;
int result = 0;
char userID[32];
printf("Please enter your user id\n");
scanf("%s", &userID);
char password[12];
printf("The user has not been found. Please enter your a password\n");
scanf("%s", &password);
printf("Username and Password has been saved");
printf("\n");
InsertIntoHash(userID, password);
return 0;
}
void InsertIntoHash(char *userID, char *hash)
{
FILE *fp;
fp = fopen("HashTable.txt", "a");
fprintf(fp, userID);
fprintf(fp,";");
fprintf(fp, hash);
fprintf(fp, ";\n");
fclose(fp);
}
爲什麼不'fprintf(fp,「%s;%s; \ n」,userId,hash);'? – John3136
可能出於某種原因,您正在寫一些CR(回車)到文件中? 「Joe; ...」的文件需要多長時間? – linuxfan
您應該打印兩個變量,以便您可以看到提供給InsertIntoHash的內容。這將幫助您找出問題所在。 – hymie