【发布时间】:2015-03-30 23:08:17
【问题描述】:
我获得了用户 ID 以将其添加到文件路径。但是在创建文件时遇到了麻烦。如何将用户 ID 添加到文件路径?我使用了strcpy,但这似乎不起作用。这是我的代码。
mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
register struct passwd *pw;
register uid_t uid;
uid = geteuid ();
pw = getpwuid (uid);
char str[1000];
strcpy(str, "/home/" );
strcpy(str, pw->pw_name );
strcpy(str, "/Documents/test.txt" );
int openFile = creat(str, mode);
【问题讨论】:
-
三次strcpy() ???也许你想要 strcpy(...); strcat(...); strcat(...) ?甚至更好”
ret = snprintf(str, sizeof str, "%s/%s/%s" "/home" , pw->pw_name, "Documents/test.txt"); if (ret >= sizeof str) {... error...} -
谢谢,将其添加为我将您标记为正确的答案