我正在try 用C语言创建一个具有唯一登录名的"bank"程序,为此,我有一个用户名文件,并判断用户输入的用户名是否与预先存在的用户名匹配,并在下面这样做
FILE *pF = fopen("usernames.txt", "a+"); //opens 2nd file to read it, and creates it if it doesn't exist
//int length = sizeof(userName) / sizeof(userName[0]);
while (fgets(buffer, 255, pF)) { //reads file adn checks if the username is on it
if (strncmp(buffer, userName, strlen(userName)) == 0) { //checks the amount of characters in the string userName and only compares those characters
uniqueUsername = false;
break;
}
}
然而,我的问题是,如果存在像"Daniel"这样的预先存在的用户名,您不能将"Dan"创建为另一个用户名.
我try 将strlen(userName)
改为strlen(buffer)
,但这会比较缓冲区字符串的所有255个字符(我将其创建为255字节的虚拟数组),结果不匹配.有没有办法克服这个问题?