Fstream et directsound

micflor Messages postés 14 Date d'inscription mercredi 22 février 2006 Statut Membre Dernière intervention 3 mars 2013 - 18 déc. 2009 à 09:52
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 18 déc. 2009 à 12:00
bonjour, une fonction de mon programme recherche la chaine "riff" dans un fichier wave : if(strnicmp(pfichierwave;"riff";4)).
celà fonctione. mais, dès que je veux inclure le fichier fstream.h ,le compilateur me sort un message d'erreur (impossible de trouver une correspondance de type pour strnicmp.......etc.
j'utilise c++builder 4 de borland.
quelqu'un peut-il m'aider?

5 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 déc. 2009 à 10:13
Tu fais une recherche 'chaine' dans un fichier binaire, drole d'idée. Suffit qu'il y ait un octet=0 avant ce que tu cherches et tu ne trouveras jamais.

Aucune idée pour ce qui est de builder C+++.

ciao...
BruNews, MVP VC++
0
micflor Messages postés 14 Date d'inscription mercredi 22 février 2006 Statut Membre Dernière intervention 3 mars 2013
18 déc. 2009 à 10:38
bonjour,
en fait, je recherche la chaine "riff" du fichier wave qui doit se trouver au debut du fichier et 4 caractères sinon, cen'est pas un fichier wave.
pour ce qui est de mon problème, sans réelement comprendre, j'ai résolu en incluant <fstream> et non <fstream.h>.
si tu peux m'expliquer.
cordialement
0
micflor Messages postés 14 Date d'inscription mercredi 22 février 2006 Statut Membre Dernière intervention 3 mars 2013
18 déc. 2009 à 11:28
finalement, celà n'est pas résolu ;
dès que je veux utiliser la classe fstream, ma fonction de recherche de chaine dans un fichier et qui utilise l'api windows ne fonctionne plus.
il n'est peut-être pas possible d'utiliser les fonctions de l'api (createfile) et, par ailleurs, dans un même programme, les objets fstream?

cordialement
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
18 déc. 2009 à 11:33
pour ce qui est de mon problème, sans réelement comprendre, j'ai résolu en incluant <fstream> et non <fstream.h>.

<fstream.h> est déprécié et ne doit plus être utilisé. En C++, on utilise <fstream>. Ca ne risquait pas de fonctionner !


il n'est peut-être pas possible d'utiliser les fonctions de l'api (createfile) et, par ailleurs, dans un même programme, les objets fstream?

Je ne connais pas les API Windows (Unix uniquement), en revanche il y a de forte chance que createfile te demande un nom de fichier sous la forme d'un char*. Dans ce cas, invoque la méthode c_str() d'un std::string pour le convertir en char*.

Si ça ne résout pas ton problème, poste le petit morceau de code qui te pose problème.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 déc. 2009 à 12:00
Bien entendu rien n'empecherait d'avoir des stream et des appels API dans le meme prog tant que le shareMode est correctement mis.
Pour autant, les stream ne servent strictement à rien dans un prog Win.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous