我需要从用户那里获得一个用户名,并使用他的名字打开一个文件(如果已经存在)。如果文件不存在,我需要创建一个。现在我真的不知道该怎么做。 (在c中)
此代码行合法吗?
fopen("%s.txt", "r+", username);
如果没有,我有什么选择?也许有更好的方法可以做到这一点?
感谢您的帮助:)
您有正确的主意,但未使用正确的功能。
char *filename = malloc(strlen(username) + strlen(".txt")+1);
if (filename) {
sprintf(filename, "%s.txt", username);
fopen(filename, "r+");
}
尝试一下:
char* ext = ".txt";
char* filename = malloc(strlen(username) + strlen(ext) + 1);
sprintf(filename, "%s%s", username, ext);
FILE* file = fopen(filename, "r+");
free(filename);