#1 problema con comparar caracteres de un fichero
hola buenas soy nuevo en el foro y tengo una gran duda, pero para poner en situacion añado mi codigo que he desarrollado en borland builder c++ 6.0:
//---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma hdrstop
#include <math.h>
#include "iostream.h"
struct registro
{
char secuencia[50];
int frecuencia;
int Entropia;
};
//---------------------------------------------------------------------------
#pragma argsused
void main()
{
int N; int T=0; int Entropia_T=0;
FILE *Fichero;
char N_Fichero[50];
cout << "Nombre del fichero: ";
cin >> N_Fichero;
int Bentana;
cout << "Tamaño de la secuencia: ";
cin >> Bentana;
char Temp[50];
registro vector[50];
Fichero= fopen(N_Fichero,"rt");
int Ventana=Bentana-1;
char s2[3]= "fin";
int G=0;
while (G<50)
{
G=G+1;
strcpy(vector[G].secuencia,s2);
}
int Tamanio=0;
while (Tamanio<50)
{
cout << Ventana;
Tamanio=Tamanio+Bentana;
T++;
// fgets(Temp,Ventana,Fichero);
// N= fread(Temp,sizeof(char),Bentana,Fichero);
int Tamanio2=0;
while (Tamanio2<T)
{
Tamanio2=Tamanio2+1;
if (strcmp(vector[Tamanio2].secuencia,s2)) // if (strcmp(0,vector[i].secuencia)) // vector[i]
{
strcpy(vector[Tamanio2].secuencia,Temp);
}
else if (strcmp(vector[Tamanio2].secuencia,Temp))
{
vector[Tamanio2].frecuencia++;
}
}
}
Mi problema es con el fread y el fgets pongo ambos xq es lo q he probado, la cuestion es q quiero que de un fichero txt me saque, dandole una longitud de texto, los caracteres tantos como longitud d texto.
A ver si me explico con un ejemplo:
si tengo la frase en el fichero: "hola que tal" y le paso una longitud de 3 carcteres me traiga en cada rutina del while "hol" primero, " qu" segundo, "e t" tercero y "al " cuarto.
Si m pueden contestar lo antes posible se los agradeceria muchisimo.
Saludos
//---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma hdrstop
#include <math.h>
#include "iostream.h"
struct registro
{
char secuencia[50];
int frecuencia;
int Entropia;
};
//---------------------------------------------------------------------------
#pragma argsused
void main()
{
int N; int T=0; int Entropia_T=0;
FILE *Fichero;
char N_Fichero[50];
cout << "Nombre del fichero: ";
cin >> N_Fichero;
int Bentana;
cout << "Tamaño de la secuencia: ";
cin >> Bentana;
char Temp[50];
registro vector[50];
Fichero= fopen(N_Fichero,"rt");
int Ventana=Bentana-1;
char s2[3]= "fin";
int G=0;
while (G<50)
{
G=G+1;
strcpy(vector[G].secuencia,s2);
}
int Tamanio=0;
while (Tamanio<50)
{
cout << Ventana;
Tamanio=Tamanio+Bentana;
T++;
// fgets(Temp,Ventana,Fichero);
// N= fread(Temp,sizeof(char),Bentana,Fichero);
int Tamanio2=0;
while (Tamanio2<T)
{
Tamanio2=Tamanio2+1;
if (strcmp(vector[Tamanio2].secuencia,s2)) // if (strcmp(0,vector[i].secuencia)) // vector[i]
{
strcpy(vector[Tamanio2].secuencia,Temp);
}
else if (strcmp(vector[Tamanio2].secuencia,Temp))
{
vector[Tamanio2].frecuencia++;
}
}
}
Mi problema es con el fread y el fgets pongo ambos xq es lo q he probado, la cuestion es q quiero que de un fichero txt me saque, dandole una longitud de texto, los caracteres tantos como longitud d texto.
A ver si me explico con un ejemplo:
si tengo la frase en el fichero: "hola que tal" y le paso una longitud de 3 carcteres me traiga en cada rutina del while "hol" primero, " qu" segundo, "e t" tercero y "al " cuarto.
Si m pueden contestar lo antes posible se los agradeceria muchisimo.
Saludos
0