Bonjour,
est ce qu'il ya un erreur dans cette syntaxe
struct req { int uid; int pid; char msg[1024];} chat_request;
chat_request.uid=getuid();
chat_request.msg=getpid();
chat_request.msg="QUIT";
merci pour vos reponce,,,,,,,,,
Version imprimable
Bonjour,
est ce qu'il ya un erreur dans cette syntaxe
struct req { int uid; int pid; char msg[1024];} chat_request;
chat_request.uid=getuid();
chat_request.msg=getpid();
chat_request.msg="QUIT";
merci pour vos reponce,,,,,,,,,
Il y a une erreur si ton compilateur dit qu'il y a une erreur.
Rapidement et à vue d'oeil , non.
Par contre si tu pose cette question parce que ton compilateur te dis qu'il y a une erreur, tu devrai nous montrer l'erreur , ainsi qu'un peut plus de code ( je pense ) pour qu'on t'aide à trouver la solution.
En regardant une deuxièmement fois le code, oui effectivement il y a une erreur :
Je pense que tu la connais :)Code:
1
2
3
4 chat_request.uid=getuid(); chat_request.msg=getpid(); chat_request.msg="QUIT";
LittleWhite t'a donné une des réponses. Tu peux pas mettre gepid() dans le membre "msg".
Par ailleurs, tu ne peux pas non plus écrire msg="QUIT" car le C ne connait pas l'élément "string" mais seulement le pointeur. Donc il comprend cet ordre par <<copier l'adresse mémoire (le pointeur) qui contient la chaine "QUIT" dans "msg">> et il ne peut pas copier une adresse dans un tableau.
Si tu veux que le tableau "msg" contienne la chaine "Quit", te faut copier les octets un à un... ou bien passer par strcpy() qui est faite pour ça...