int main ()

{
 char s [DIM];
 int righe, lettere, lunghezza; //righe è un contatore per il numero delle righe nel file output.txt lettere e lunghezza invece servono all'interno della singola riga
 FILE *f1;
 f1=fopen ("output.txt", "w");
 lunghezza=0;
 for (righe=0; righe<10; righe++)
     {lettere=lunghezza; // in questo modo il contatore si azzera ogni volta
     do
          {
          lunghezza=genera(s); //così la lunghezza della stringa viene assegnata ad una variabile
           if (lettere+lunghezza<=20){
              fprintf(f1, "|%s", s);
              lettere= lunghezza + lettere;
              lunghezza=0;
               }
           }
     while (lunghezza==0);
     if (righe<9) fprintf (f1, "|   %d\n|%s", lettere,s); // con questo if si chiude la riga e si va a capo iniziando la successiva, la condizione evita di superare il limite imposto dall'es
     else fprintf (f1, "|   %d", lettere,s); //alla riga 10 sarà svolta questo comando e non si andrà a capo
     }
     fclose (f1);
 system ("pause");
 return 0;
}
int main() {

    FILE *file1;
    char stringa[DIM+1]; //per il carattere terminatore
    int c, lunghezza=0; //c= contatore per il for, lunghezza= memorizza la lunghezza della riga nel file output
    srand(time(NULL)); //seed random
    if((file1=fopen("output.txt", "w"))==NULL)  { //inizializzo puntatore a file output.txt - sola scrittura
        printf("ERROR"); //nel caso in cui non si riesca ad aprire il file ritorna 1 e stampa errore
        return 1;
    }
    for(c=1; c<=10; c++) {
        genera(stringa); //richiamo genera
        if (lunghezza+strlen(stringa)>20) {  //verifica che la lunghezza della stringa che sto per inserire sommata alla lunghezza della riga non superi i 20 caratteri
            fprintf(file1, " %d\n", lunghezza); //inserisco la lunghezza e vado a capo
            lunghezza=0; //sono andato a capo. resetto lunghezza
            //tutto questo ambaradam non verrà eseguito alla prima iterazione, in quanto sono sicuro che lunghezza+strlen non può superare 20
        }
        fprintf( file1, "%s", stringa); //scrivo stringa nel file
        printf("%d - Stringa %s, lunga %d, inserita nel file\n", c, stringa, strlen(stringa)); //sorta di output
        lunghezza+=strlen(stringa); //incremento lunghezza
    }
    if (lunghezza!=0) //serve per l'ultima riga di stampa. potrei essere andato a capo prima dell'ultima riga, ma potrei anche non aver più stringhe da stampare.
        fprintf(file1, " %d\n", lunghezza);
    fclose(file1);
    return 0;
}
Beispiel #3
0
BOOL jp( char *szpath, char *szcode, char *szoutput )
{
    FILE *fp;
    char szfilename[128];


    sprintf( szfilename, "%s\\Documentacion de Mensajes\\%c.idx", szpath, tolower(szcode[0]));


    if ( ( fp = fopen( szfilename, "r" ) ) == NULL )

    {
        if ( !genera( szpath, szcode[0] ))
            return FALSE;
    }

    if ( !muestra_ppl( szpath, szcode, szoutput ) )
        return FALSE;

    return TRUE;
}
void table_offset::fill_tables() {
	genera(short_bitmaps, u, offset_class, u);
	rev_offset = __Lis;
	//delete [] __Lis;
}