gpt4 book ai didi

c - 在 c 中使用 fscanf() 从格式化的测试文件中读取

转载 作者:太空宇宙 更新时间:2023-11-03 23:40:27 24 4
gpt4 key购买 nike

这是文本文件

Username:user1  Password:pass1
Username:user2 Password:pass2

我想从文本中读取用户名和密码。问题是没有办法改变文本的格式。我试图阅读,但由于冒号 (:) 之间没有空格,它给出整个 username:user1 作为字符串,但我只想要 user1。我提到了this问题,但它没有帮助,因为冒号之间没有空格。

我试过了:

 while ((fscanf(fp,"Username:%s Password:%s",username,password))!=EOF)

但是它在 user1 之后给出了许多未定义的字符并且循环永远不会结束。

最佳答案

试试下面的代码:

#include <stdio.h>
#include <string.h>

int main (int argc, char *argv[])
{
char username[128];
char password[128];
FILE *fp;
int ret;

fp = fopen("read.txt", "r");
if (!fp) {
printf("Failed to open a file\n");
return 1;
}

while (1) {
ret = fscanf(fp, "Username:%s Password:%s\n",username,password);
if (ret == EOF)
break;
if (ret == 2)
printf("%s %s\n", username, password);
else {
printf("%d\n", ret);
perror("fscanf:");
break;
}
}

fclose(fp);
return 0;
}

关于c - 在 c 中使用 fscanf() 从格式化的测试文件中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47304287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com