名前とパスワードをファイルから C の構造体に読み込もうとしていますが、明らかに私のコードは期待どおりに動作しません。以下に添付されているコードの問題を解決するのを手伝ってくれる人はいますか? どうもありがとう!(基本的に、ファイルにはいくつかの名前とパスワードがあり、それらを構造 accounts[]` に読み込みたい)
#include <stdio.h>
#include <stdlib.h>
struct account {
char *id;
char *password;
};
static struct account accounts[10];
void read_file(struct account accounts[])
{
FILE *fp;
int i=0; // count how many lines are in the file
int c;
fp=fopen("name_pass.txt", "r");
while(!feof(fp)) {
c=fgetc(fp);
if(c=='\n')
++i;
}
int j=0;
// read each line and put into accounts
while(j!=i-1) {
fscanf(fp, "%s %s", accounts[j].id, accounts[j].password);
++j;
}
}
int main()
{
read_file(accounts);
// check if it works or not
printf("%s, %s, %s, %s\n",
accounts[0].id, accounts[0].password,
accounts[1].id, accounts[1].password);
return 0;
}
name_pass.txt ファイルは、次のような単純なファイルです (名前 + パスワード):
こんにちは 1234
笑 123
世界 123