Ik probeer een file op mijn scherm weer te laten geven met 20 regels per keer.
Allereerst telt het programma de regels waarna hij de eerste 20 geeft.
Hierna kan je kiezen of je verder wil of de file wil sluiten.
Mijn idee was om met een loop de /n te tellen tot de 20, maar daarvoor moet ik eerst normaal een regel kunnen lezen.
tussen:
/************Print first 20 lines************/
en
/***************Print next 20 lines?*************/
Probeer ik gewoon de eerste regel van mijn textfile (waar wel wat inzit) op het scherm te zetten maar ik krijg alleen random characters.
Wat klopt er niet aan deze opstelling?
Code: Selecteer alles
/******************************************************************************
File
: <filename_0.c>
Compiler : <GCC (WinAVR), versie 4.3.3>
Revision : Revision: 0.1
Date
: 2011/09/27
Author
: <Joeri Friederich>
******************************************************************************/
/******************************************************************************
DEPENDENCIES
******************************************************************************/
#include <stdio.h>
#include <stdlib.h>
/*****************************************************************************/
int main ()
{
int Count=0;
int ch = '\n';
char a[100];
char i;
FILE *BEW1;
BEW1 = fopen ("Opdr_4_text.txt","r");
if(BEW1 == NULL)
{
printf ("Cannot open file\n");
}
else
{
/*****************Count lines****************/
printf ("File Open\n\n.....Counting lines......\n\n");
while ( (ch = getc(BEW1)) != EOF ) // Read chars one by one.
{
if ( ch == '\n' )
{
++Count; // +1 For every found end of line \n.
}
}
printf ("Lines: %d\n\n",Count);//Prints ammount of lines
/************Print first 20 lines************/
if ( fgets (a , 100 , BEW1) != NULL )puts (a);
if ( fgets (a , 100 , BEW1) == NULL ) printf ("nope.\n\n,");
fscanf(BEW1,"%s \n",&a);
printf("%s\n",a);
/***************Print next 20 lines?*************/
(Boeit effe niet dus weggehaald)
}
fclose (BEW1);
printf ("File Closed\n\n,");
return Count;
}