я разрабатываю основную программу, которая производила бы несколько случайных кодов, и хочу сохранять их в файле txt, до настоящего времени у меня есть часть, где он производит мне коды, но мне остается сохранять их в одном archivo.txt, он был бы благодарен за, если они могут помогать мне
#include <iostream>
#include <time.h>
#include <fstream>
using namespace std;
int num,num2,num3,j,x,y,z,t;
string c;
int main(){
cout<<"\n\n Cuantos codigos desea generar? : "; //solicitando el numero de codigos
cin>>t;
cout<<"\n";
srand(time(NULL));
while(t != j){ //Validando que el numero de codigos se cumpla
for(int i=1;i<=15;i++){ //Determinando la longitud de los codigos(15)
num = rand();
num=65+rand()%(90-65); //Limtando los caracteres ascci a letras en mayuscula (aleatorio)
num2=48+rand()%(57-48); //Limitando los caracteres ascci a numeros(aleatorio)
num3=1+rand()%(3-1); //Generando numero para determinar si se usara numeros o letras
if(num3==1){ //Determinando si el caracter que se genera es una letra o numero (aleatorio)
c=num;
cout<<c;
}
else
{
c=num2;
cout<<c;
}
}
cout<<"\n";
z=j++;
}
escribir();
system("pause");
return 0;
}
Компиляция:
Сколько коды хоти произвести?: 5
R3F33O70543NU7R
HIA8XR5R73FMRGS
Упрощенной формы, оператора < < env¦ - в переменные, куда его показывает direcci¦n пика - paréntesis. Это означает, что, когда ты делаешь:
cout << variable;
то, что ты делаешь, состоит в том, чтобы посылать изменчивые к cout , которые представляют вывод estÃ: ndar, что обычно является экраном. Если ты хочешь послать этот же самый informaci¦n к другому месту (ej, файл) ты должен иметь сначала ссылку на вышеупомянутое место.
, Чтобы открывать файл, например, ты можешь использовать следующий c¦digo:
#include <fstream>
int main() {
std::ofstream archivo("nombre_de_archivo.txt");
}
Сейчас я храню в архиве он позволяет тебе посылать данные в "nombre_de_archivo.txt" таким же образом как cout ранее ты permit¦, - чтобы посылать данные в экран.
Ло único, которого ты должен делать сейчас, состоит в том, чтобы меняться cout < < переменная из-за:
archivo << variables;
Сейчас только заменяет все cout на файл и решенную тему.
Ты можешь использовать разгрузку, ассоциируемую с файлом и властвовать informaci¦n как будто ты использовал
cout << variable;
, Должен создавать переменную типа ofstream
и присоединять к нему файл. AdemÃ: s, важно подтверждать, что файл добился открыться с éxito используя funci¦n fail()
#include <fstream>
int main(){
std::ofstream fout("fichero.txt");
if (fout.fail()){
cerr << "ERROR: No se ha podido abrir o crear fichero.txt" << endl;
exit(-1);
}
// se ha abierto (o creado si no existia) con exito
}
, Ты можешь консультировать documentaci¦n ofstream для mÃ: s informaci¦n
Я исправил твой c¦digo, чтобы делать это самым простым способом... однако, способ больше простые из этого делать (но не поэтому лучшая, и в самом деле возненавидят меня много программистов здесь) - следующий:
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <fstream>
using namespace std;
int num,num2,num3,j,x,y,z,t;
string c, echo, txtoutput; // declaro estas strings que me van a ayudar
txtoutput = " >> archivo.txt";
int main(){
cout<<"\n\n Cuantos codigos desea generar? : "; //solicitando el numero de codigos
cin>>t;
cout<<"\n";
srand(time(NULL));
while(t != j){ //Validando que el numero de codigos se cumpla
for(int i=1;i<=15;i++){ //Determinando la longitud de los codigos(15)
num = rand();
num=65+rand()%(90-65); //Limtando los caracteres ascci a letras en mayuscula (aleatorio)
num2=48+rand()%(57-48); //Limitando los caracteres ascci a numeros(aleatorio)
num3=1+rand()%(3-1); //Generando numero para determinar si se usara numeros o letras
if(num3==1){ //Determinando si el caracter que se genera es una letra o numero (aleatorio)
c=num;
cout<<c;
echo = "echo ";
echo += c;
echo += txtoutput;
system(echo.c_str());
}
else
{
c=num2;
cout<<c;
echo = "echo ";
echo += c;
echo += txtoutput;
system(echo.c_str());
}
}
cout<<"\n";
z=j++;
}
escribir();
system("pause");
return 0;
}