Syntaxe en C
Résolu
Babou-_-linet
-
Babou-_-linet -
Babou-_-linet -
Bonjour a tous,
voila ca fait un bail que je n'ai pas touché au C et je ne sais plus vraiment l'utiliser... =(
Je veux faire un programme et je sui s confronté a un soucis syntaxique.
En d'autres langages comme PHP ou Javascript ou autres... on peut utiliser le code exemple suivant :
En C est il possible de faire un
Si oui, quelle syntaxe appliquer svp ?
voila ca fait un bail que je n'ai pas touché au C et je ne sais plus vraiment l'utiliser... =(
Je veux faire un programme et je sui s confronté a un soucis syntaxique.
En d'autres langages comme PHP ou Javascript ou autres... on peut utiliser le code exemple suivant :
fonction cherche_fichier_dans_dossier($nom_fichier)
{
$dossier = './dossier/';
$chemin_complet = $dossier.$nom_fichier;
}
En C est il possible de faire un
char *chemin_complet;de la meme facon ? En enfilant les valibles ? ou bien du texte plus simplement car le dossier est fixe.
Si oui, quelle syntaxe appliquer svp ?
A voir également:
- Syntaxe en C
- Trouver erreur de syntaxe fichier txt ✓ - Forum Python
- Trouver erreur de syntaxe fichier txt pix - Forum Autoit / batch
- Convertion .txt ------>.wtf HELP!!! ✓ - Forum Windows
- Syntaxe code puk orange - Guide
- La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte - Forum Logiciels
5 réponses
Ok, le problème c'est, qu'en C, il n'existe pas de type 'chaînes de caractères'; on s'en tire, car on en a vraiment besoin, par un type 'tableau de caractères', mais un tableau à une taille fixe et quand on ajoute des chaînes il faut que la taille augmente et ce n'est pas automatique, alors il faut utiliser l'allocation dynamique et créér une fonction, par exemple:
Bonne continuation.
char* ajouterChaine (char* chaine, char* ajout)
{
char* nouvelle = malloc(strlen(chaine) + strlen(ajout) + 1);
strcpy(nouvelle, chaine);
strcat(nouvelle, ajout);
free(chaine);
return (nouvelle);
}
int main(void)
{
char* string = NULL;
string = ajouterChaine(string, "Bonjour");
string = ajouterChaine(string, " à tous.");
printf("%s\n", string);
free(string);
return (EXIT_SUCCESS);
}Ce n'est qu'un exemple, mais j'espère que ceci répond à ta demande.
Bonne continuation.
En C, c'est beaucoup plus compliqué. Mais comme tout est toujours possible, il existe des fonctions pour farfouiller dans les répertoires; il s'agit de 'opendir', 'readdir' et 'scandir'.
Toutefois, je dois te préciser que ces fonctions ne sont définies que dans Posix; ce qui signifie que, sous Linux, tu n'auras pas de problèmes. Quant à Windoze, pour moi c'est un mystère.
Bonne continuation.
Toutefois, je dois te préciser que ces fonctions ne sont définies que dans Posix; ce qui signifie que, sous Linux, tu n'auras pas de problèmes. Quant à Windoze, pour moi c'est un mystère.
Bonne continuation.
Et bien en fait ce n'est pas tant la fonction pour fouiller dans les dossiers qui me gene.
ce qui me tracace c'est de d'arriver a obtenir une variable :
en partant de
exemple concret :
ce qui donnerait en un autre langage :
Voila je décrit bien pour etre sur que vous ayez bien saisi la question, et c'est pas pour vous prendre pour des noobs je vous rassure :D
ce qui me tracace c'est de d'arriver a obtenir une variable :
chemin_fichier = "./dossier/fichier.txt"
en partant de
chemin = "./dossier/"; fichier = "fichier.txt";
exemple concret :
char *afficher_verbe(char *verb)
{
char *dossier = "./verbs/";
FILE *fp = fopen(verb, "r");
ETC...
char *chemin_complet = ???
ce qui donnerait en un autre langage :
var chemin_complet = dossier+fp;
Voila je décrit bien pour etre sur que vous ayez bien saisi la question, et c'est pas pour vous prendre pour des noobs je vous rassure :D
Ok ok, merci bien pour ton aide, ton exemple devrait suffir a terminer le programme... j'espere :D
C'est triste qu'il faille passer par la ^^
C'est triste qu'il faille passer par la ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
oui je me souviens, passé un an a faire du C, jusqu'ou il poussait :o et encore a cette époque j'étais loin de tout voir ^^
En fait j'ai arrété la programmation quand j'ai découvert le développement web ^^ mais ca fait bizarre de se remettre dedans :s
du coup , le C++ (jamais pratiqué) m'interesse =P
Bonne journée toi aussi, merci.
En fait j'ai arrété la programmation quand j'ai découvert le développement web ^^ mais ca fait bizarre de se remettre dedans :s
du coup , le C++ (jamais pratiqué) m'interesse =P
Bonne journée toi aussi, merci.