用用户名打开文件(在c中打开)

问题描述 投票:0回答:2

我需要从用户那里获得一个用户名,并使用他的名字打开一个文件(如果已经存在)。如果文件不存在,我需要创建一个。现在我真的不知道该怎么做。 (在c中)

此代码行合法吗?

fopen("%s.txt", "r+", username);

如果没有,我有什么选择?也许有更好的方法可以做到这一点?

感谢您的帮助:)

c fopen
2个回答
0
投票

您有正确的主意,但未使用正确的功能。

char *filename = malloc(strlen(username) + strlen(".txt")+1);

if (filename) {
  sprintf(filename, "%s.txt", username);
  fopen(filename, "r+");
}

0
投票

尝试一下:

char* ext = ".txt";
char* filename = malloc(strlen(username) + strlen(ext) + 1);
sprintf(filename, "%s%s", username, ext);
FILE* file = fopen(filename, "r+");
free(filename);
© www.soinside.com 2019 - 2024. All rights reserved.