Gravar arquivo. [RESOLVIDO]

1. Gravar arquivo. [RESOLVIDO]

Emerson Lara
snowbg

(usa CentOS)

Enviado em 25/08/2011 - 09:51h

Pessoas!
Boa vida!

Fiz um programinha que gera um XML que utilizarei em uma aplicação específica aqui.

Consegui fazer com que o resultado saísse na tela, mas gostaria de gravá-lo em um arquivo e não sei como fazê-lo. Alguém me dá uma dica?

Vejam o código:

----------------------------------------------------------------------
#include <fstream.h>
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
using namespace std;


int main()
{

char vet[600];
int protocol;
int SERIAL_ID;
char modulo[8];
char arquivo_xml[12];
char modelo[3];
int option;

cout<<"Informe o modelo do equipamento:\n\t[1]MTC500STD ou MTC550STD\n\t[2]MTC550FULL\n\t[3]MTC400 id<65535\n\t[4]MTC400 id>65535\n\t";
cin>>option;

switch (option)
{
case 1:
protocol = 45;
break;
case 2:
protocol = 4;
break;
case 3:
protocol = 42;
break;
case 4:
protocol = 44;
break;
default: cout<<"\a\nOpcao inválida!\n";
system("pause");
break;
}

cout<<"Informe o ID (serial) do equipamento:\n";
cin>>SERIAL_ID;
cout<<"Informe o nome do arquivo XML que se deseja enviar ao módulo:\n";
cin>>arquivo_xml;
cout<<arquivo_xml<<" \n";
itoa (protocol,modelo,10);
itoa (SERIAL_ID,modulo,10);
cout<<modelo<<" modelo\n";
cout<<modulo<<" modulo\n\n\n";

strcat (vet,"<?xml version=\"1.0\" encoding=\"iso-8859-1\"?><COMMANDS>\n <COMMAND>\n <PROTOCOL>");
strcat (vet,modelo);
strcat (vet,"</PROTOCOL>\n<SERIAL>");
strcat (vet,modulo);
strcat (vet,"</SERIAL>\n <ID_COMMAND>AcoesClientes</ID_COMMAND>\n <TYPE>13</TYPE>\n <ATTEMPTS>5</ATTEMPTS>\n <COMMAND_TIMEOUT>2012-12-12 00:00:00</COMMAND_TIMEOUT>\n <PARAMETERS>\n <PARAMETER>\n <ID>PLACE</ID>\n <VALUE>Bysat</VALUE>\n </PARAMETER>\n <PARAMETER>\n <ID>NAME</ID>\n <VALUE>");
strcat (vet,arquivo_xml);
strcat (vet,"</VALUE> </PARAMETER> </PARAMETERS> </COMMAND></COMMANDS>");

cout<<vet;
system("pause");
}
-----------------------------------------------------------------------


  


2. MELHOR RESPOSTA

Danilo Renato da Silva
danilo_renato

(usa Ubuntu)

Enviado em 26/08/2011 - 10:02h

utilize a classe ofstream (output file stream)

antes de começar a concatenar no vetor faça:
memset(vet,0,600);

depois de cout << vet faça:

strcat(arquivo_xml,".xml");
ofstream arquivo_saida(arquivo_xml);
arquivo_saida.write(vet,strlen(vet));

3. GREAT!

Emerson Lara
snowbg

(usa CentOS)

Enviado em 26/08/2011 - 11:57h

Muito obrigado, Danilo!!!

You're my hero!!! rsrsrs


4. De Nada

Danilo Renato da Silva
danilo_renato

(usa Ubuntu)

Enviado em 26/08/2011 - 13:44h

de nada Emerson ;), sempre bom poder ajudar rsrs! abrass






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts