Bonjour,
j'ai ecris une petite fonction qui me permet de modifier une chaine de caractere. Cette chaine est un chemin (ex: C:\unRepertoire ), et la fonction me renvoi le repertoire courant ( dans ce cas: C: enfin dans la theorie).
Helas, ma fonction ne fonctionne que dans un cas.. mais je ne comprend pas pourquoi :/
je vous montre mon code..
les resultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 #include<iostream> using namespace std; void cdup(char* path){ char *tmp; int i; tmp = strrchr(path,'\\'); i = tmp-path; strncpy(tmp,path,i); strcpy(path, tmp); delete tmp; } int main (){ char path[MAX_PATH] ="c:\\test\\qwerty"; char path1[MAX_PATH] ="c:\\test"; char path2[MAX_PATH] ="c:\\test\\vfdzgdagf\\qwerrrrrr\\aaaa\\qwwer"; cdup(path); cdup(path1); cdup(path2); cout << "path : " << path << endl; cout << "path1: " << path1 << endl; cout << "path2: " << path1 << endl; system("PAUSE"); return 1; }
Si quelqu'un pouvait m'eclaircir les idees...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4path : c:\test path1: c:est path2: c:est Appuyez sur une touche pour continuer...
Merci
Partager