Jump to content
Fórum Script Brasil
  • 0

Criar arquivo de Texto contendo variaveis.


krovinskit

Question

Bom galera, eu estou querendo no meu programa, que ele salve as informações que eu quero, em um documento de txt.

Ele esta quase completo, porem as informações que estao em modo de variaveis, não são transferidas.

Esta ai meu codigo abaixo.

Perceba que existe uma variavel do tipo INTeira "a".

E essa variavel sera o "usuario" quem ira decidir.

Exemplo:

#include <iostream>

#include <fstream>

#include <stdio.h>

#include <stdlib.h>

using namespace std;

int a;

main(){

printf("Digite um numero: ");

scanf("%d", &a);

system("cls");

ofstream makefile;

makefile.open("C://teste.txt");

makefile << "Numero digitado: %d",a;

makefile.close();

}

Porem no arquivo txt criado, ele aparece assim:

Numero digitado: %d

Ou seja, ele mostrou "%d" em vez do numero digitado.

Se alguém souber, eu agradeço

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Você está tentando usar o fstream , uma função da linguagem C++, com comandos da linguagem C. Para que seu código funcione, faça dessa forma:

#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int a;
int main(){

printf("Digite um numero: ");
scanf("%d", &a);
system("cls");

ofstream makefile;
makefile.open("C://teste.txt");
makefile << "Numero digitado: " << a;
makefile.close();
}

E não se esqueça que main é uma função que retorna uma integer, ou seja, tem que ser declarada com int main()

Att.,

Pedro

Edited by PedroCunha
Link to comment
Share on other sites

  • 0

Ae Pedro...

Mas uma duvida...

Consegui fazer o que voce me disse, mas estou tendo outro problema...

rsrsrsrsrsr... tentando avançar de pouco em pouco.

Enfim...

Quero fazer com que o programa fique voltando, e toda hora eu digite um novo numero e sempre fique salvando o arquivo.

Porem não quero que apague o que já esta salvo, ate que eu feche o programa, ou seja, (nesse caso, digite -1).

Esta ai como estou tentando fazer.:

#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int a;
int main(){
do{
printf("Digite um numero: ");
scanf("%d", &a);
system("cls");

ofstream makefile;
makefile.open("C://Test.txt");
makefile << "Numero Digitado: " << a;
}while(a!=-1);
fflush(stdin);
makefile.close();
}

Link to comment
Share on other sites

  • 0

Bom, duas coisas amigo:

Primeiro -> Mude a declaração do objeto ofstream e sua abertura para fora do do-while loop. Caso contrário você estará abrindo o arquivo e criando um objeto toda vez que passa no loop;

Segund -> Para abrir um arquivo de forma a não sobrepor o conteúdo já existente nele, temos que usar uma flag na sua abertura. Da seguinte maneira:

ofstream makefile;
makefile.open("C://Test.txt", ios::app);

ios::app -> append, do inglês, adicionar, juntar. Ou seja, não deletar, :D.

Aqui vai um link de um tópico do Fórum sobre esse assunto:

IOS:APP

Att.,

Pedro

Link to comment
Share on other sites

  • 0

Denovo Pedro, muito obrigado pela ajudo.

Acho que por enquanto é so isso...

rsrsrsrsrsr

P.S: ficou assim

#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int a;
int main(){
ofstream makefile;
do{
printf("Digite um numero: ");
scanf("%d", &a);
if(a!=-1){


makefile.open("C://Test.txt", ios::app);
makefile << "Numero Digitado: " << a;
makefile << "\n";
fflush(stdin);
makefile.close();}
}while(a!=-1);
}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.6k
×
×
  • Create New...