我有这段代码,但不能让它正常工作。我想把字符串输出写到一个文件中。
static void wr_message_user_info_login(wi_p7_message_t *message) {
wi_date_t *date;
wi_string_t *string, *interval;
wi_p7_uint32_t uid, build, bits;
wr_printf_block(WI_STR("Login: %@"),
wi_p7_message_string_for_name(message, WI_STR("wired.user.login")));
char *filename = "/.wirebot/wirebot.login";
char *home_dir = getenv("HOME");
char *filepath = malloc(strlen(home_dir) + strlen(filename) + 1);
sprintf(filepath, "%s%s", home_dir, filename);
FILE *fp;
fp = fopen(filepath, "w");
if (fp == NULL)
{
}
else
{
fputs((WI_STR("Login: %@")), fp);
);
fclose(fp);
}
“登录名:%@”应写入文件。回显工作正常。
1条答案
按热度按时间mwngjboj1#
你提供了一段代码,但缺少了很多东西。如果你去掉你没有告诉我们的东西,它似乎可以工作:
和示例运行:
也许目录~/.wirebot在您的主机上不存在?