【发布时间】:2016-10-05 20:55:49
【问题描述】:
我在 C 编程方面经验很少,尤其是文件处理方面。我正在开发一个项目,我应该在其中创建一个注册/登录系统。我有一个 .csv 文件,其中的数据由 , 我要做的是将第一列和第二列分别读入两个字符数组。
char userLogin[100];
char userPassword[100];
FILE *file3 = fopen("C:\\Users\\Kshitiz\\Desktop\\BAAS\\signup_db.csv","r");
if(file3 != NULL){
while(!feof(file3)){
fscanf(file3,"%[^,],%s",userLogin,userPassword);
puts(userLogin);
puts(userPassword);
}
}
fclose(file3);
signup_db.csv 的内容:
Username,Password
SBI063DDN,Qazwsx1234
ICICIDDN456,WSXEDC1234r
预期输出:
Username
Password
SBI063DDN
Qazwsx1234
ICICIDDN456
WSXEDC1234r
我得到的输出:
Username
Password
SBI063DDN
Qazwsx1234
ICICIDDN456
WSXEDC1234r
WSXEDC1234r
谁能帮我解决这个问题?谢谢!
【问题讨论】:
-
fscanf返回成功匹配的数量。您可以检查并确保它返回 2 -
您不应将用户名和密码存储为纯文本
-
while(!feof(file3)){总是错的