DarkBoss
Messages postés154Date d'inscriptionsamedi 3 août 2002StatutMembreDernière intervention12 décembre 2008
-
22 août 2004 à 23:19
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
12 août 2007 à 20:59
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 12 août 2007 à 20:59
Très mauvaise habitude à ne pas prendre les static buffer.
Une fonction qui veut se faire remplir un buffer doit le passer en param.
int GetFileDir(char *file, char *pdir)
{
char *c = pdir;
while(*c = *file) {c++; file++;}
while(*c != '\\') c--;
*++c = 0;
return (c - pdir);
}
darkpoulpo
Messages postés76Date d'inscriptionlundi 21 mars 2005StatutMembreDernière intervention29 novembre 2009 12 août 2007 à 16:43
strrchr(); pas strrchar(). jme suis trompé en ecrivant
darkpoulpo
Messages postés76Date d'inscriptionlundi 21 mars 2005StatutMembreDernière intervention29 novembre 2009 12 août 2007 à 16:42
rosco91
Messages postés20Date d'inscriptionmardi 22 mai 2007StatutMembreDernière intervention 4 juin 2007 5 juin 2007 à 12:07
Je penses que cela aurait été plus simple de mettre ton code entier car beaucoup de choses ne sont pas déclarées. Ton code n'est pas commenter donc pour un débutant c'est du charabia.
DarkBoss
Messages postés154Date d'inscriptionsamedi 3 août 2002StatutMembreDernière intervention12 décembre 2008 22 août 2004 à 23:45
bon voila en gros g changerai ton code comme cela :
char *GetFileDir(char *File, bool EndSlash)
{
char *Dir=(char*)malloc(1024);
strcpy (Dir, File);
for (int i=strlen(Dir); i>1; i--)
{
if (Dir[i]=='\\')
{
if (!EndSlash) Dir[i]=0;
break;
}
Dir[i]=0;
}
return Dir;
}
DarkBoss
Messages postés154Date d'inscriptionsamedi 3 août 2002StatutMembreDernière intervention12 décembre 2008 22 août 2004 à 23:28
g fai kelkes modification minimales: g verrai pluto les choz com ca :
12 août 2007 à 20:59
Une fonction qui veut se faire remplir un buffer doit le passer en param.
int GetFileDir(char *file, char *pdir)
{
char *c = pdir;
while(*c = *file) {c++; file++;}
while(*c != '\\') c--;
*++c = 0;
return (c - pdir);
}
12 août 2007 à 16:43
12 août 2007 à 16:42
{
static char r[4096] = ".\";
char *t strrchar(nomdefichier,'\\');
if (t) {
*(t+) = '\0';
strncpy(r,nomdefichier,4096);
}
return r;
}
5 juin 2007 à 12:07
22 août 2004 à 23:45
char *GetFileDir(char *File, bool EndSlash)
{
char *Dir=(char*)malloc(1024);
strcpy (Dir, File);
for (int i=strlen(Dir); i>1; i--)
{
if (Dir[i]=='\\')
{
if (!EndSlash) Dir[i]=0;
break;
}
Dir[i]=0;
}
return Dir;
}
22 août 2004 à 23:28
char *GetFileDir(char *File, bool EndSlash);
char *GetExePath()
{
GetModuleFileName(NULL,ttmp, 1024);
GetFileDir(ttmp,1);
return ttmp;
}
char *GetFileDir(char *File, bool EndSlash)
{
char *Dir=(char*)malloc(1024);
strcpy (Dir, File);
for (int i=strlen(Dir); i>1; i--)
{
if (Dir[i]=='\\')
{
if (!EndSlash) Dir[i]=0;
}
Dir[i]=0;
}
return Dir;
}
22 août 2004 à 23:19
o lieu de declarer c variables dans ton prog