Voila je voudrais savoir s'il aitais possible de copier un fichier et de le coler a un emplacement choisi,et de creer un dossier.
Version imprimable
Voila je voudrais savoir s'il aitais possible de copier un fichier et de le coler a un emplacement choisi,et de creer un dossier.
Cela peut varier d'un système à l'autre mais d'une manière standard on peu copier un fichier comme suit: http://c.developpez.com/faq/c/?page=...ICHIERS_copier
Pour creer un dossier commen on fait ?
D'une manière standard je dirais:
après tout dépend de ton systèmeCode:system ("mkdir nom_rep");
Ou tout simplement
Je ne sais pas si c'est portable par contre (enfin ca marche sous Windows et Linux...).Code:
1
2 mkdir(char *nomrepertoire);
C'est POSIX.1, c'est donc très portable.Citation:
Envoyé par Skyrunner
Il faut inclure quel header pour avoir cet appel ?Citation:
Envoyé par Emmanuel Delahaye
D'après le man :Citation:
Envoyé par CSoldier
Code:
1
2
3
4 #include <sys/types.h> #include <fcntl.h> int mkdir(const char *pathname, mode_t mode);
Mais c'est fait automatiquement avec certains compilos, sans qu'il soit necessaire d'ajouter des headers.
Tu arrêtes de dire des bétises ?Citation:
Envoyé par seriousme
Les headers sont là pour fournir, entre autre, les prototypes des fonctions. Il faut les utiliser sinon le compilateur ne peut pas vérifier le coherence de l'appel. Pour les fonctions 'variadic' (printf(), scanf() etc.), c'est même une obligation pour forcer la promotion.
OK!Citation:
Envoyé par Emmanuel Delahaye
Dans ce cas c'est l'EDI qui s'en occupe alors.
Tu vas encore te faire gronder !!! :sm:Citation:
Envoyé par seriousme
Pourtant voilà un prog qui compile et marche chez moi:
Qui a donc la bonté de tout faire, si ce n'est l'EDI, DevC++?Citation:
int main(int argc, char *argv[])
{
mkdir("123");
system("PAUSE");
return 0;
}
Chez moi le compilateur (gcc) dit :Citation:
Envoyé par seriousme
Vérifie que tu as bien l'option -Wall :sm:Code:
1
2
3
4
5
6
7
8 Switching to target: default Compiling: main.c main.c: In function `main': main.c:31: warning: implicit declaration of function `mkdir' main.c:32: warning: implicit declaration of function `system' Linking console executable: E:\Tmp\console.exe Process terminated with status 0 (0 minutes, 0 seconds) 0 errors, 2 warnings
Ok merci c'est noté :PCitation:
Envoyé par crocodilex
Citation:
Envoyé par seriousme
Evidemment, si ton compilateur est mal reglé...Code:
1
2
3
4
5
6
7
8
9 Compiling: main.c main.c: In function `main_': main.c:3: error: implicit declaration of function `mkdir' main.c:3: warning: nested extern declaration of `mkdir' main.c:4: error: implicit declaration of function `system' main.c:4: warning: nested extern declaration of `system' Process terminated with status 1 (0 minutes, 0 seconds) 2 errors, 2 warnings
Moi j'ai utilisé un logiciel, LabWindows CVI pour ceux qui connaissent, et cet EDI nous disait avant la compilation, si on avait oublié un header.
header.h is required, do you want to add it?
(enfin un truc dans le genre)
Un petit clic sur Ok et hop un #include <header.h> rajouter dans le fichier.
C'etait vraiment bien pratique (peut etre une option à rajouter à Code::Blocks si ce n'est pas trop difficile à mettre en place...)
Huum d'après moi, ce qui reste préférable est simplement un message d'erreur de la part du compilo et l'arret de la compilation en cas d'oublie d'un header, car ce genre de facilité n'est pas bon pour la santé ! Un simple message permet au programmeur de savoir qu'il a surement oublié d'inclure un header, donc il l'ajoute lui même, cela permet de s'entraîner à prendre de bonne habitudes et non se fier à un programme qui demande si tu veux insérer le header que tu as oublié !
En effet mon compilo est en mode "laxiste".
J'ai ajouté -Wall mais je n'ai que des warnings, pas d'erreurs.
Emdel=>comment faire pour que le compilo me les affiche?
QQN ne pourais t'il pas reasembler le tout, faire un exemple ?
Merci