Accueil > Forum > > > > Convertion String char*
Convertion String char*
mercredi 28 novembre 2007 à 08:46:50 |
Convertion String char*

CerberusAbaka
|
Bonjour;
Je développe avec Dev C++ un petit exécutable qui converti des PostScript couleur en noir et blanc, tout marche pas trop mal mais j'ait un petit problème à la fin... sic
Voila une foi les couleurs changées dans le fichier d'origine, il faut recréer un fichier avec toute les lignes du premier, le problème est que certaines lignes ont cette syntaxe :
%!PS-Adobe-3.0
ou encore :
%%Pages: (atend)
Donc en fait mes lignes modifiées sont stocké dans un std::string, puis j'utilise :
cout << line << endl; fprintf(fp,line.c_str()); fprintf (fp,"\n");
Où fp est mon fichier de sortie, line une ligne du fichier, le cout donne : %%Pages: 1
mais dans le fichier de sortie je me retrouve avec %Pages: 1
Voila, en fait il me "mange" le caractère %.... Alors si quelqu'un à une solution...
Merci d'avance 
|
|
mercredi 28 novembre 2007 à 09:20:51 |
Re : Convertion String char*

CerberusAbaka
|
Réponse acceptée !
Bon, j'ait trouver en fait ;)
si sa peut servir à quelqu'un il faut utiliser un ofstream.
Je vait poster la source de la conversion des Ps ;)
|
|
mercredi 28 novembre 2007 à 09:46:18 |
Re : Convertion String char*

theneoiceman
|
Bon tu as déjà accepté ta propre réponse mais je vais quand même éclairer ta lanterne concernant cette perte de % dans le fprintf.
N'oublie pas que le fprintf est un printf fait directement dans un fichier (ou plutot printf est l'equivalent d'un fprintf avec comme fichier la sortie stdout). La chaine qu'utilise donc fprintf utilise les formats que tout programmeur connait %d %f %l etc etc. Et bien sur la question est comment représenter un % en printf alors que ca sert à indiquer le forat ?
Réponse simple, tu écris %% dans ta chaine de caractere et ca affichera un %
Donc c'est là que je rejoins ton probleme d'origine. Les chaines que utu récupéréias étaient de la forme "%%Pages: (atend)" par exemple.
Donc une fois la converszion faite avec le c_str(), la chaine était passée dans le fprintf qui interprétae ces "%%" come un seul et unique "%" (comme expliqué plus haut).
Voila l'origine de ton probleme. Maintenant que tu n'utilises plus fprintf pas de soucis mais si tu avais continué à l'utiliser il aurait fallu que tu parcoures une premiere fois ta chaine pour remplacer chaque "%" trouvé par "%%" et hop le tour était joué.
J'espère avoir été clair ^^
Bonne journée
Mess with the best, die like the rest
|
|
mardi 20 mai 2008 à 16:51:30 |
Re : Convertion String char*

guillaume_00
|
Le plus simple si tu veux toujours utiliser fprintf est de préciser le format (2nd argument) et passer ton buffer comme paramettre :
fprintf(fp, "%s", line.c_str());
Ainsi pas besoin de modifier line et pas de risque liés à l'utilisation de fprintf
++
|
|
mercredi 21 mai 2008 à 08:30:44 |
Re : Convertion String char*

CerberusAbaka
|
Merci pour vos réponses et explication, désolé pour le temps de réponse lol
Je vais poster ma source, comme prévu, mais je passe maintenant par du VB.NET, plus simple à utiliser. Je me sers de ce petit EXE pour de la conversion de plan CAO en PDF, on les enregistre en .ps, convertis en noir et blanc, puis en PDF. La couleur sur les plan sa peut porter à confusion parfois....
http://www.vbfrance.com/codes/CONVERTION-PS-NOIR-BLANC_46720.aspx
Merci ;)
|
|
Cette discussion est classée dans : fichier, string, pages, lignes, fp
Répondre à ce message
Sujets en rapport avec ce message
remplir une chaine par des lignes d'un fichier [ par boualiasma ]
Bonjour, Je voulais remplir une chaine 's' par des lignes des fichiers. par exemple si on a le fichiers "test.txt": aaa [quote]cc bbbbb deee[/quote]
moyennage besoin d'aide [ par cedm237 ]
Bonjour, je connais pas grand chose en C, mais j'ai besoin d'un petit code, qui me fasse ceci: -j'ai un fichier contenant 1millions de ligne de coordo
fichiers en C [ par boualiasma ]
Salut, 1) Dans mon travail, j'utilise des fichiers. je crée un fichier "essai.txt" pour le remplir fp = fopen("essai.txt","w"); // je fais des tra
union de deux fichiers [ par boualiasma ]
Bonjour, Je voulais ajouter autres lignes (autres données) à la fin du fichier 'output.txt' à partir d'un autre fichier 'exp.txt' le contenu de fich
Problème écriture fichier avec fputs et chaine créée avec l'objet string [ par curite ]
Bonjours, j'ai un problème, je n'arrive pas a écrire dans un fichier avec fputs en mettant un chaine de caractère créée avec l'objet string, voici le
Enregistrer un type string dans un fichier [ par jeromenaze ]
Bonjour, J'ai un problème j'ai rechercher un peut partout mais je suis débutant en programmation donc j'aimerai des explication. Voila je veut enregis
Exception anormale lors d'un substr C++ [ par LeaIUT ]
Bonsoir, lors de l'execution de mon programme, une exception me stoppe la progression: "terminate called after throwing an instance of 'std::out_of_r
Problème de pointeur : erreur non-lvalue in assignment [ par AmStErDaMnEd ]
Bonjour, j'ai récupéré un bon de code pour pouvoir splitter une chaine. Cela fonctionne sans pointeur. Cependant, j'ai besoin de récupérer un char*
extraire des lignes d'un fichier csv avec visual C++ [ par cre31400 ]
Bonjour, J'utilise visual C++, et j'aurais besoin de votre aide. J'ai un fichier .csv contenant environ 1000 lignes, mais seulement une trentaine sont
Bug identificateur introuvable ? [ par FeelCode ]
hello j'ai une erreur qulque peux bizzard, voici le rapport du compilateur Visual studio 2005 ------ Début de la génération : Projet : ConsolC, Confi
Livres en rapport
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|