Bonjour.

J'ai un "petit" souci. Je ne sais plus comment m'en dépatouiller...
J'ai une application qui envoie des commandes à une imprimante par la liaison
série. Une série de commande permet de stocker une image dans la mémoire
de l'imprimante, et au moment opportun, de l'appeler pour l'imprimer.

La commande de stockage est un mélange de texte et de binaire, puisqu'on
envoie le contenu du fichier directement dans la trame.

Actuellement, j'en suis là, mais je bute sur le type de buffer à utiliser

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
  std::ifstream       file;
  std::ostringstream  strLine;
 
  strLine.str("");
  strLine << "GM\""
          << szNomImage
          << "\""
          << iTailleFichierImage;
 
  file.open(szNomFichierImage);
  if ( !file.fail() )
  {
    char szBuffer[4096];
    while ( !file.eof() )
    {
      file.read((char*)szBuffer, 4096);
      strLine << szBuffer;
    }
    file.close();
  }
 
  strLine << "\x0A";
  iRet = m_SerialComm.Write(taille de la commande, buffer, &dwWritten);
La commande a la syntaxe suivante : GM"Nom"Taille_Img[DataImg]\x0A

Pouvez vous me venir en aide ? Merci