Bonjour,
je suis débutante en C et j'ai un exo qui me demande de retourner le chemin absolu à partir d'un chemin relatif donné en argument.
J'ai fait un code et j'ai un problème dans ma concaténation.
merci de m'aider
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
28
29
30
31
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
/*
 *retourne le chemin absolu a partir d'un chemin relatif
 *chemin absolu : il affiche le chemin depuis la racine
 *chemin relatif : il affiche le chemin depuis l'endroit ou on est
 * la commande pwd retourne le chemin absolu d'un fichier
 */
 
 
#define MAX_PATH 512
 
char * relatifToAbsolu(char *fichier){
	char* buf;
	buf = malloc(MAX_PATH * sizeof(char));
	buf = getcwd(buf, MAX_PATH);
	if (buf == NULL) {
		fprintf(stderr, "\nErreur: echec de l'appel a getcwd.\n\n");
	}
	return strcat(buf,fichier);
 
}
 
int main(int argc, char *argv[]){
  char * path = relatifToAbsolu("chemin relatif du fichier");
  printf("%s \n",path);
  return 0;
}