Originariamente inviato da PaTeR non PeTeR
mi disp... ma nisba.. stesso errore
( ho messo il %u al posto del %s e ho tolto il (char) )
codice:
$ cat test1.c
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
uid_t ruserid = getuid();
gid_t rgroupid = getgid();
uid_t euserid = geteuid();
gid_t egroupid = getegid();
printf("L'utente realmente riconosciuto dal processo \uffff\uffff: %s", (char) ruserid);
printf("Il gruppo realmente riconosciuto dal processo \uffff\uffff: %s", (char) rgroupid);
printf("L'utente effettivamente riconosciuto dal processo \uffff\uffff: %s", (char) euserid);
printf("Il gruppo effettivamente riconosciuto dal processo \uffff\uffff: %s", (char) egroupid);
return(0);
}
$ gcc -Wall -o test1 test1.c
test1.c: In function `main':
test1.c:13: warning: format argument is not a pointer (arg 2)
test1.c:14: warning: format argument is not a pointer (arg 2)
test1.c:15: warning: format argument is not a pointer (arg 2)
test1.c:16: warning: format argument is not a pointer (arg 2)
$ cp test1.c test1.cpp
$ g++ -Wall -o test1_p test1.cpp
test1.cpp: In function `int main()':
test1.cpp:13: warning: format argument is not a pointer (arg 2)
test1.cpp:14: warning: format argument is not a pointer (arg 2)
test1.cpp:15: warning: format argument is not a pointer (arg 2)
test1.cpp:16: warning: format argument is not a pointer (arg 2)
$ ls test*
test1 test1.c test1.cpp test1_p
$ ./test1
Segmentation fault
$ ./test1_p
Segmentation fault
E mettendo
codice:
$ grep printf test1.c
printf("L'utente realmente riconosciuto dal processo: %i\n", ruserid);
printf("Il gruppo realmente riconosciuto dal processo: %i\n", rgroupid);
printf("L'utente effettivamente riconosciuto dal processo: %i\n", euserid);
printf("Il gruppo effettivamente riconosciuto dal processo: %i\n", egroupid);
$ gcc -Wall -o test1-2 test1.c
$ ./test1-2
L'utente realmente riconosciuto dal processo: 1010
Il gruppo realmente riconosciuto dal processo: 1010
L'utente effettivamente riconosciuto dal processo: 1010
Il gruppo effettivamente riconosciuto dal processo: 1010
Che presumo sia quanto desideravi