Créer des fichiers txt automatiquement ??? [C] - C - Programmation
Marsh Posté le 29-05-2004 à 01:12:24
usa_satriani a écrit : Bonjour.
|
Code :
|
est ton amie
Ton concatènes ça avec le nom de ton fichier et roulez jeunesse.
Marsh Posté le 29-05-2004 à 03:46:45
thermocline a écrit : C'est moi ou il n'y a pas de question? |
j'allais le dire
Marsh Posté le 29-05-2004 à 07:15:46
je voudrais que à chaque pas de la boucle il crée un nouveau fichier texte fichier_a.txt, a étant le compteur.
Après si on peut faire ça de base, tant mieux
Je pense avoir piger ce que veut dire Toxin, merci je vais essayer.
Marsh Posté le 29-05-2004 à 08:56:32
usa_satriani a écrit : je voudrais que à chaque pas de la boucle il crée un nouveau fichier texte fichier_a.txt, a étant le compteur. |
moi pas trop
j'ai pas trouvé d'aide sur itoa (man itoa), ca doit pas etre du C standard
sinon moi perso j'aurais tout simplement utilisé
un char[6]
une fonction de concatenation avec la biblio string pour inserer a dans le tablea de caractere et apres j'aurais lancé la creation du fichier
ou sinon j'aurai carrement creer ma fonction qui permet d'inserer une variable dans la chaine "comb_ .txt"
Marsh Posté le 29-05-2004 à 09:57:18
Je suis arrivé a faire un truc en pompant sur le site avec sprintf
Code :
|
Bien sur le problème c'est que il me concatène à la suite
Bon c'est pas le drame mais bon... (i est un int bidon en fait)
par contre qd je fais fopen(str,"r+" ) il me renvoie NULL
Marsh Posté le 29-05-2004 à 10:09:44
Code :
|
Marsh Posté le 29-05-2004 à 10:11:20
i = sprintf(str2, "%i", a);
strcat(str, str2);
-> sprintf(str, "%s%d", a);
cai bien mieux, itoa n'étant pas standard
Marsh Posté le 29-05-2004 à 10:22:58
Merci, je viens d'utiliser un truc ds ce genre (sprintf).
Le problème s'était que à chaque tour de boucle bien sur il me restait le nom entier d'avant avec les strcat déjà effectué. J'ai donc renversé l'ordre : strcat(str2,str) (str=="_comb.txt" )
Le problème ensuite étant de faire le fopen ou il n'aime pas str2 en premier argument :s
merci
Marsh Posté le 29-05-2004 à 10:29:53
strcat(str2,str) (str=="_comb.txt" ) ... tu crois faire quoi là?
Marsh Posté le 29-05-2004 à 10:33:17
non lol pour dire que str est une chaine fixe égale à _comb.txt que je déclare au tout début.
J'ai testé j'ai exactement les noms que je veux, reste à pouvoir faire f=fopen(str2); et àvoir le fichier correspondant dans mon dur.
Marsh Posté le 29-05-2004 à 11:11:47
oui c'est ce qui me semblait itoa permet de convertir char en int
usa_satriani, bien sur ca que ca va concater a a la fin apres.txt
il suffit de lancer 2 fois strstr
Marsh Posté le 29-05-2004 à 11:24:00
non mais en fait je met la partie qui contient _comb.txt à la suite et no problemo.
Donc là j'arrive a générer des chaines de caractère convenable pour le nom de chaque fichier texte : 1_comb.txt, ... 70_comb.txt
Le problème c'est que j'arrive pas avec fopen à passer en 1° argument la variable qui contient le nom en cours : str2
f=fopen(str2,"r+" ); me renvoie NULL
Marsh Posté le 29-05-2004 à 11:26:21
je croyais que tu devais le créer le fichier ?
il existe ?
Marsh Posté le 29-05-2004 à 11:28:15
Euh non mais je pensais que r+ créait le fichier
c sur que si il le cherche je comprend pourquoi j'ai NULL
Ah j'ai mis w et ça marche
merci
Marsh Posté le 29-05-2004 à 13:44:33
sinon, tu peux pas faire une redirection vers un fichier txt que tu crées?
Marsh Posté le 29-05-2004 à 14:47:18
comment ca? tu ve dire invoquer une commande shell avec > ?
Marsh Posté le 29-05-2004 à 14:57:58
essaie ca par exemple sous dos
echo "" > toto.txt
et apres fais dir (ou ls sous linux) pour voire le resultat
Marsh Posté le 29-05-2004 à 15:07:52
pourquoi "" ?
echo > toto.txt
mais je comprend pas, il ve faire ca depuis son programme, pas depuis un script shell ??
il créé un fichier avec fopen ou est le probleme (la ya un truc qui m'echappe)
Marsh Posté le 29-05-2004 à 15:31:13
a je savais pas que l'on pouvais faire direct
echo > toto.txt
et meme carrement
> toto.txt sous linux
et bien ou c'est que pour creer des fichiers s'est plus facile mais apres tu vas t'embeter ca en dos, je ne sais meme pas si c'est possible, pour concatener un compteur avec le nom du fichier
Marsh Posté le 29-05-2004 à 15:36:41
sous windows avec un .bat je pense que oui, mais c'est plus la bonne cat
Marsh Posté le 01-06-2004 à 17:59:20
Taz a écrit : i = sprintf(str2, "%i", a); |
Ta pas oublier un terme là :
Taz a écrit : sprintf(str, "%s%d", a); |
C'est pas : sprintf(str, "%s%d",str, a); que tu voulais dire.
ou encore sprintf( str, "comb_%d.txt", a);
Marsh Posté le 29-05-2004 à 01:06:04
Bonjour.
Pour faire des feuilles de stats, je dois faire un fichier content beaucoup de combinaisons. Le problème est que le ficier que j'ai généré pèse 130 Mo et est donc illisible.
Il y a grossomodo 70 étapes importantes dans travail donc je voudrais que à chaque pas de la boucle il crée un nouveau fichier texte fichier_a.txt, a étant le compteur.
Bien sur ceci ne marche pas mais c'est pour vous donner une idée :
Merci
Message édité par usa_satriani le 29-05-2004 à 07:13:07
---------------
Ce monde n'est qu'une vaste entreprise à se foutre du monde. Céline