gpt4 book ai didi

c - 如何打印用户的主目录#c

转载 作者:行者123 更新时间:2023-11-30 19:34:18 25 4
gpt4 key购买 nike

我编写了一个程序来打印用户的主目录,但它不起作用。

这是我的代码:

#include <stdio.h>
char cmd[256], name[256], homedir[256];
int main()
{
printf("Username: ");
fgets(name,256,stdin);
sprintf(cmd, "grep %s /etc/passwd|awk -F : '{print $6}'", name);
FILE *fp = popen (cmd, "r");
if (fp)
{
fgets(homedir, sizeof homedir, fp);
printf("%s %s", name, homedir);
pclose(fp);
}
return 0;
}

它打印:

Username: 

在我输入“Paul”后,它什么也没打印,我不知道为什么。

最佳答案

按 Enter 键后,fgets(name,256,stdin); 行获取 \n 字符作为输入。然后你的 cmd 字符串看起来像这样:

grep <your username input> 
/etc/passwd|awk -F

将行 fgets(name,256,stdin); 更改为 scanf("%s",name);

关于c - 如何打印用户的主目录#c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44099177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com