当前位置: 技术问答>linux和unix
就一行简单的代码,程序执行却错误,N久没有搞明白
来源: 互联网 发布时间:2015-10-07
本文导语: test.c #include #include int main() { char *s[256]; printf("%sn",getlogin()); /*显示当前登陆名,结果显示(null),即错误*/ strcpy(s,getlogin()); /*把当前登陆名复制到一个字符串中,运行显示段错误,程序被终止...
test.c
#include
#include
int main() {
char *s[256];
printf("%sn",getlogin()); /*显示当前登陆名,结果显示(null),即错误*/
strcpy(s,getlogin()); /*把当前登陆名复制到一个字符串中,运行显示段错误,程序被终止*/
return 0;
}
关键在系统函数getlogin()不能正确执行;
man getlogin
显示:
SYONPSIS
#include
char *getlogin(void);
我的环境为Red Hat Linux 9
不知道哪里出了问题?
#include
#include
int main() {
char *s[256];
printf("%sn",getlogin()); /*显示当前登陆名,结果显示(null),即错误*/
strcpy(s,getlogin()); /*把当前登陆名复制到一个字符串中,运行显示段错误,程序被终止*/
return 0;
}
关键在系统函数getlogin()不能正确执行;
man getlogin
显示:
SYONPSIS
#include
char *getlogin(void);
我的环境为Red Hat Linux 9
不知道哪里出了问题?
|
为什么要char *s[256]
char s[256]不行么?
你在搞什么?
char s[256]不行么?
你在搞什么?
|
#include
#include
int main()
{
char s[500];
printf("LOGIN: %sn", getlogin());
snprintf(s, sizeof(s), "%s", getlogin());
printf("%sn", s);
}
#gcc getlogin.c
#./a.out
LOGIN: root
root
#include
int main()
{
char s[500];
printf("LOGIN: %sn", getlogin());
snprintf(s, sizeof(s), "%s", getlogin());
printf("%sn", s);
}
#gcc getlogin.c
#./a.out
LOGIN: root
root
|
printf("%sn",getlogin()); /*显示当前登陆名,结果显示(null),即错误*/
是不是你没有登陆?
是不是你没有登陆?
|
up
|
顶