Ma to je OK, znam...
Ali je problem ova moja originalna verzija koda... Mene zanima gde je greska u njoj, to jest hocu da uradim ovo preko
char *rec; a ne preko rec[100] jer mi se ne svidja to ogranicenje, tj hocu da procitam bez ogranicenja...
Inace probaj recimo ove kodove(preko char *rec), i videces da rade savrseno(makar kod mene)
1:
Code:
#include <stdio.h>
#include <stdlib.h>
int strlen(char *s)
{
int n;
for(n=0; s[n]!='\0'; n++);
return n;
}
int main(void)
{
char *rec;
FILE *in;
in=fopen("vezba.txt","r");
fscanf(in,"%s",rec);
int n=strlen(rec);
printf("%d\n\n",n);
printf("%s ", rec);
return 0;
}
2:
Code:
#include <stdio.h>
#include <stdlib.h>
int strlen(char *s)
{
int n;
for(n=0; s[n]!='\0'; n++);
return n;
}
int main(void)
{
char *rec;
FILE *in;
in=fopen("vezba.txt","r");
fscanf(in,"%s",rec);
int n=strlen(rec);
printf("%d\n\n",n);
for (int i=0; i< n; i++)
printf("%d ", n);
return 0;
}
3:
Code:
#include <stdio.h>
#include <stdlib.h>
int strlen(char *s)
{
int n;
for(n=0; s[n]!='\0'; n++);
return n;
}
int main(void)
{
char *rec;
FILE *in;
in=fopen("vezba.txt","r");
fscanf(in,"%s",rec);
int n=strlen(rec);
printf("%d\n\n",n);
for (int i=0; i< n; i++)
printf("%d ", i);
return 0;
}
Mogu se napraviti i drugi primeri koji pokazuju da je ucitavanje stringa iz fajla na ovaj nacin(char *rec) moguce...
Ono sto je vazno je kako je to moguce da ako sve ove verzije koda rade ne radi i ovo:
4:
Code:
#include <stdio.h>
#include <stdlib.h>
int strlen(char *s)
{
int n;
for(n=0; s[n]!='\0'; n++);
return n;
}
int main(void)
{
char *rec;
FILE *in;
in=fopen("vezba.txt","r");
fscanf(in,"%s",rec);
int n=strlen(rec);
printf("%d\n\n",n);
for (int i=0; i< n; i++)
printf("%s ", rec);
return 0;
}
Ne zanima me ucitavanje, ili to da ne znam kako da uradim neki zadatak, ja tek ucim C, pa me zanima zasto ovo ostalo radi, a verzija 4: ne. Znaci, znam da se ovo moze uraditi na drugi nacin, ali to nije poenta... Zanima me sta ne valja ovde???
Hvala za dosadasnju pomoc...