elroulianito
Messages postés17Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention31 janvier 2009
-
16 juil. 2003 à 16:27
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
16 juil. 2003 à 16:33
mon probleme:
(application windows avec MFC)
j'ai plusiures fonctions:ex fonction1() ,fonction2(),...
A l'ouverture d'un fichier, je veux récupérer l'extension
si .txt => function1();
si . dat => fonction2();
si .asc => fonction3();
etc...
voila un début de code:
CFileDialog m_ldFile(TRUE;
if (m_ldFile.DoModal() == IDOK)
{
m_File_in=m_ldFile.GetPathName();
char *FileIn = m_File_in.GetBuffer(1);
int len=strlen(FileIn);
char ext[4];
ext[0]=FileIn[len-3];
ext[1]=FileIn[len-2];
ext[2]=FileIn[len-1];
ext[4]='\0';
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 16 juil. 2003 à 16:33
supprime ce strlen qui ne sert a rien, tu as mis un pointeur sur la chaine, alors tu le pousses, je mets *c pour faire court:
char *c = m_File_in.GetBuffer(1);
while(*c) c++; c--;
ici c pointe sur le dernier char.
ensuite ultra simple:
switch(*c) {
case....
}
ceux d'avant: *(c-1), *(c-2)
tu finiras.
BruNews, ciao...