#1 Le 03/05/2009, à 18:38
- kevlar
[résolu]Quelle fonction pour convertir les ##!!! espaces !
Bonjour à tous !
Voici ma question : existe-t-il une fonction, destinée au C, capable de faire la conversion, entre les noms de fichiers "humains" contenant des espaces, et les noms de fichiers (humm... pas de mots) convenant à l'interpréteur de commandes, c'est à dire où les espaces sont remplacés par la séquence \(espace) ?
J'ai vu que Gtk était capable de faire certaines conversions, mais c'est pour des fonctions intégrées à la glib, du style g_chdir ...
Mon problème est que j'emploie des instructions de la forme system(" cp nom_de fichier_source nom_de fichier_destination") et que même après avoir appliqué une fonction maison sur ces noms de fichiers, pour remplacer les espaces, le système plante parfois, semble-t-il lorsque les chemins sont trop longs (mais j'ai des buffers de 512 octets pour les noms, les conversions, je ne comprends pas !)
Merci d'avance pour votre réponse !
Dernière modification par kevlar (Le 03/05/2009, à 20:05)
Hors ligne
#2 Le 03/05/2009, à 19:55
- kevlar
Re : [résolu]Quelle fonction pour convertir les ##!!! espaces !
En fait, quels sont les caractères interdits en batch ? Je viens de voir que si le fichier contenait des tirets (-), des apostrophes (') ce cher ordre cp a des problèmes ...
Hors ligne
#3 Le 03/05/2009, à 20:05
- kevlar
Re : [résolu]Quelle fonction pour convertir les ##!!! espaces !
problème résolu, avec une fonction de copie en binaire trouvée ici :
http://c.developpez.com/faq/?page=fichi … ERS_copier
Hors ligne
#4 Le 03/05/2009, à 20:44
- HP
Re : [résolu]Quelle fonction pour convertir les ##!!! espaces !
Mon problème est que j'emploie des instructions de la forme
system(" cp nom_de fichier_source nom_de fichier_destination")
Coder en C, Perl, Python… ou n'importe quoi d'autre pour au final utiliser du Bash sur des fonctions de base… je me demande si c'est vraiment judicieux !
Et le problème se situe justement là… je pense.
Dernière modification par HP (Le 03/05/2009, à 20:45)
cat /dev/urandom >/dev/null 2>&1 #github
Hors ligne
#5 Le 03/05/2009, à 21:05
- kevlar
Re : [résolu]Quelle fonction pour convertir les ##!!! espaces !
en effet, et résolu comme indiqué au dessus; Mais c'est vrai que les différents langages de haut niveau manquent, en natif de fonctions élémentaires de gestion de fichier, telles que la simple copie.:rolleyes:
Hors ligne