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]
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
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
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
fin de fichier [ par poiuytrez3 ]
Bonjour,Je suis en train de faire un programme qui lit des informations dans un fichier, mais je ne comprends pas, il me prend 2 fois le dernier éléme
écriture classe dans un fichier texte [ par nord666 ]
Salut tout le monde!J'ai besoin d'aide pour l'écriture dans un fichier. Je voudrais que l'extension du fichier soit .city. Ce que je veux écrire dans
Passage d'un String dans une DLL C++ [ par Argile92 ]
Bonjour à tous.J'aimerai pouvoir accéder à un fichier texte via une DLL.Je suis dans Excel, avec l'adresse où se trouve mon fichier texte que j'aimera
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : WIN APIRE : WIN API par racpp
Cliquez pour lire la suite par racpp
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|