[G++] [CODE C++] SERVER.CFG GENERATOR POUR COUNTER-STRIKE

cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 - 21 déc. 2001 à 08:30
sampiiii Messages postés 69 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 8 décembre 2010 - 11 févr. 2010 à 05:02
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/9222-g-code-c-server-cfg-generator-pour-counter-strike

sampiiii Messages postés 69 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 8 décembre 2010
11 févr. 2010 à 05:02
Bonjour , j'arrive meme pas a l'ouvrir avec DEV-C++ quelqu'un peut m'aider svp ^^ ?
cs_Tylos Messages postés 6 Date d'inscription dimanche 13 janvier 2002 Statut Membre Dernière intervention 27 janvier 2002
25 janv. 2002 à 09:51
Pas d'erreur de compilation mais erreur d'execution ! il se produit après la dernière requette concernant le cheats codes.
***Tylos***
cs_Jo Messages postés 138 Date d'inscription jeudi 24 août 2000 Statut Membre Dernière intervention 6 avril 2002
24 déc. 2001 à 00:35
bah avrait dire moi non plus lol, mais j'avait ke ca sous la main quand g ecrit le code
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
23 déc. 2001 à 20:47
Moi j'ai une vieille RedHat 6.0 qui traine sur une machine.
Sinon j'ai essayé le code suivant qui explose aussi:

char *str;
strcpy(str, "toto");

enfin ca m'étonne pas de la mandrake
cs_Jo Messages postés 138 Date d'inscription jeudi 24 août 2000 Statut Membre Dernière intervention 6 avril 2002
23 déc. 2001 à 20:41
et bien moi g ecrit compiler et executer mon code sous Linux Mandrake 8.1 et gcc/g++ 3.0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
23 déc. 2001 à 18:55
J'ai essayé de compiler

char test[];

et

struct toto
{
char test[];
};

sous Linux et ca ne marche pas non plus

T'as quoi comme distrib ???
cs_Jo Messages postés 138 Date d'inscription jeudi 24 août 2000 Statut Membre Dernière intervention 6 avril 2002
22 déc. 2001 à 10:31
a alors peut etre que cela vient de windows, peut etre qu'il y a une limitation quelque part avec windows
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
22 déc. 2001 à 10:07
Oui, ca ca marche :

char str[]="test";

Mais ca ca ne marche pas:

char str[];

Ni avec Vc++ ni avec G++ Win32
cs_Jo Messages postés 138 Date d'inscription jeudi 24 août 2000 Statut Membre Dernière intervention 6 avril 2002
21 déc. 2001 à 17:17
en fait si tu veut je vais t'expliquer comment ca se passe en ANSI-C/ANSI-C++ avec char *var; et char var[]
en ANSI il n'est necessaire de faire une allocation memoire seulement lorsque tudeclare un pointeur char *var; si non il y a risque de plantage (mais a peutmarcher mais vaut mieux eviter) par contre si tudeclare un tablaux char var[]; et bien la il n'y a pas besoin de faire d'allocation.
cs_Jo Messages postés 138 Date d'inscription jeudi 24 août 2000 Statut Membre Dernière intervention 6 avril 2002
21 déc. 2001 à 16:15
Oui ca fonctionne je t'est dit j'ai tester, dans un fichier, voila l code exacte:

#include
#include <string.h>

int main(void)
{
char *str;
strcpy(str, "azerty");
}

Puis apres pour compiler:
g++ test.cpp -o test

0 erreurs 0 warnnings
et lors de l'execution aucune erreur
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
21 déc. 2001 à 15:22
Ca marche

char* str;
strcpy(str, "azerty");

?????
cs_Jo Messages postés 138 Date d'inscription jeudi 24 août 2000 Statut Membre Dernière intervention 6 avril 2002
21 déc. 2001 à 14:28
Oui biensur que cela fonctionne ;-)
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
21 déc. 2001 à 13:45
Mais tu es d'accord avec moi sur le fait qu'il manque une allocation mémoire dans ton code.
Bizarre que Linux ne fasse pas de segmentation fault-core dump là dessus, il en fait pour bcp d'autres.

Et si tu essayes ca ca marche:

char* str;
strcpy(str, "azerty");
cs_Jo Messages postés 138 Date d'inscription jeudi 24 août 2000 Statut Membre Dernière intervention 6 avril 2002
21 déc. 2001 à 13:01
oups g faitune faute de frappe je voulait dire ANSI-C++ enfin je pense que vous l'auriez compris
cs_Jo Messages postés 138 Date d'inscription jeudi 24 août 2000 Statut Membre Dernière intervention 6 avril 2002
21 déc. 2001 à 13:00
Bizar ton histoire, pas pour l'allocation, mais pour le plantage, car moij'utilise ncompilateur ANSI-X++ et avec ce compilateur 0 erreurs 0 warnning a la compilation et le code s'execute impecable.
Pour info je travail sous Linux avec gcc/g++.
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
21 déc. 2001 à 12:40
En fait char *host et char host[] c'est exactement la même chose ...

J'ai essayé ton code avec Visual C++. Tout d'abord il compile pas à cause de la structure server (car il attends soit char *host, soit char host[ZZZ] et pas char host[]) et il plante ensuite sur le scanf() puisque tu utilises des pointeurs pour stocker des informations dedans sans allouer de mémoire.

Tu peux essayer ce code si tu veux :


#include
#include <stdio.h>

struct sTest
{
char *str;
};

void main()
{
struct sTest structTest;

cout<<"Test: "<<endl;
scanf("%s", structTest.str);
}
cs_Jo Messages postés 138 Date d'inscription jeudi 24 août 2000 Statut Membre Dernière intervention 6 avril 2002
21 déc. 2001 à 11:27
mince je viens de voir que j'ai dejas mis cela en char hostname[] mais moi je suis pas daccord qu'il ey st besoin d'allocation memoire pour que ca plante pas, car tel que c'est actuellement cela fonctionne sans planter
cs_Jo Messages postés 138 Date d'inscription jeudi 24 août 2000 Statut Membre Dernière intervention 6 avril 2002
21 déc. 2001 à 11:25
non non cela ne plante mais c'est vrai que je devrait corriger cela pour modifier les char *hostname en char hostname[] et pareil pour le rcon_password, comme ca ca m'evitera de faire des allocation memoire :-p
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
21 déc. 2001 à 08:30
Dans ta structure server, tu déclares deux pointeurs vers une chaine de caractères (hostname et rcon_password). Le problème est que tu n'alloues jamais de mémoire pour mettre les chaines dedans; ca doit donc planter.
Rejoignez-nous