struct adat{
short int azonosito; /*sorszám*/
char szoveg[80]; /*egy sornyi szöveg*/
int hossz; /*az aktuális sor hossza*/
}a;
A struct végén mit keres ott az az a?
Mellesleg compiler mutatni szokta hanyadik sor, ahhoz képest +/-1-et megnézel, és általában kiderül a hiba :-)
struct neve
{
int valami;
}a;
neve: Ha ez "adat a" egyértelműen hibát dob mert nem lehet szóköz a névben.
Végén az "a": Ez pedig nem hivatkozás hanem deklaráció, egyenlő ezzel: adat a;
Bár nem nagyon értem, hogy miket akarsz kiírni, de így lefut hiba nélkül:
#include<stdio.h>
#include<stdlib.h>
struct adat{
short int azonosito; /*sorszám*/
char szoveg[80]; /*egy sornyi szöveg*/
int hossz; /*az aktuális sor hossza*/
};
int strlen(char *s);
int dbszo(char *s);
struct adat a;
int main(){
FILE *in,*out,*fp;
in=fopen("feladat.txt", "r");
out=fopen("feladat.bin", "w+b");
while(fgets(a.szoveg, 80, in) != NULL){
a.hossz=strlen(a.szoveg);
fwrite(&a, 1, sizeof(a), out);
}
fclose(in);
fclose(out);
return 0;
}
int strlen(char *s){
int i=0;
while(*s){i++;s++;}
return i;
}
int dbszo(char *s){
int i=0;
char e=' ';
while(*s){
if((*s==' '|| *s=='\t'|| *s=='\n')&&(e!=' '&&e!='\t'))
{
e=*s;
s++;
}
}
return i;
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!