Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Datei lesen u. ausgeben ??

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
19.10.2005, 16:53 Uhr
SunnyBoy



Moin. Ich weiß nicht wo genau der fehler ist .Ausgabe steht nur quatsch.
kann mir einer nen Tipp geben.

C++:
#include <stdio.h>

void main(void){


    struct mp3_Tag{       // 128 Bytes lang
        char Tag[3],Song_Titel[30],Interpret[30],CD_Titel[30],Jahr[4],Kommentar[30],Genre[1];
    }Tag;
    FILE *fp;
    char name[100];

    fp=fopen("2PGG.mp3","rb");
    fseek(fp,-sizeof(struct mp3_Tag),SEEK_END);
    fread(&Tag,sizeof("mp3_Tag"),1,fp);
    
    printf("[Tag]       = %c\n",&Tag.Tag[30]);
    printf("[Song_Titel]= %cc\n",&Tag.Song_Titel[30]);
    printf("[Interpret] = %c\n",&Tag.Interpret[30]);
    printf("[CD_Titel]  = %c\n",&Tag.CD_Titel[30]);
    printf("[Jahr]      = %c\n",&Tag.Jahr[4]);
    printf("[Kommentar] = %c\n",&Tag.Kommentar[30]);
    printf("[Genre]     = %c\n",&Tag.Genre[1]);
    

}



mod edit: benuzte die CPP Tags selber

Dieser Post wurde am 20.10.2005 um 13:22 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.10.2005, 16:57 Uhr
SunnyBoy



alter quellcode.
das ist der wo ich Probleme hab

C++:
#include <stdio.h>

void main(void){


    struct mp3_Tag{       // 128 Bytes lang
        char Tag[3],Song_Titel[30],Interpret[30],CD_Titel[30],Jahr[4],Kommentar[30],Genre[1];
    }Tag;
    FILE *fp;

    fp=fopen("2PGG.mp3","rb");
    fseek(fp,-sizeof(struct mp3_Tag),SEEK_END);
    fread(&Tag,sizeof("mp3_Tag"),1,fp);
    
    printf("[Tag]       = %s\n",&Tag.Tag[30]);
    printf("[Song_Titel]= %s\n",&Tag.Song_Titel[30]);
    printf("[Interpret] = %s\n",&Tag.Interpret[30]);
    printf("[CD_Titel]  = %s\n",&Tag.CD_Titel[30]);
    printf("[Jahr]      = %s\n",&Tag.Jahr[4]);
    printf("[Kommentar] = %s\n",&Tag.Kommentar[30]);
    printf("[Genre]     = %s\n",&Tag.Genre[1]);
    

}


Dieser Post wurde am 19.10.2005 um 17:03 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.10.2005, 17:01 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


ganz ehrlich, über so code schaut man nicht gerne drüber...
Bissel einrücken, hier ein Zeilenumbruch, da ein Zeilenumbruch und vielleicht mal code tags ausenrum und viel mehr Leute werden dir helfen wollen !
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.10.2005, 17:05 Uhr
imhotep
followed the white rabbit


Bei printf brauchst du nicht die Adresse angeben.


C++:
#include <stdio.h>

void main(void){

    struct mp3_Tag{       // 128 Bytes lang
        char Tag[3], Song_Titel[30], Interpret[30], CD_Titel[30], Jahr[4], Kommentar[30], Genre[1];
    }Tag;
    FILE *fp;
    char name[100];

    fp=fopen("2PGG.mp3","rb");
    fseek(fp,-sizeof(struct mp3_Tag),SEEK_END);
    fread(&Tag,sizeof("mp3_Tag"),1,fp);
    
    printf("[Tag]       = %c\n",Tag.Tag);
    printf("[Song_Titel]= %cc\n",Tag.Song_Titel);
    printf("[Interpret] = %c\n",Tag.Interpret);
    printf("[CD_Titel]  = %c\n",Tag.CD_Titel);
    printf("[Jahr]      = %c\n",Tag.Jahr);
    printf("[Kommentar] = %c\n",Tag.Kommentar);
    printf("[Genre]     = %c\n",Tag.Genre);

}


oder willst du die Daten einlesen? dann musst du scanf nehmen

C++:
printf("[Tag]       = ");
scanf("%c", &Tag.Tag);
printf("\n[Song_Titel]      = ");
scanf("%s", &Tag.Song_Titel);

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
19.10.2005, 18:29 Uhr
SunnyBoy



nein ausgeben . Einlesen hab ich mit fread gemacht in die struktur Tag....
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
20.10.2005, 08:47 Uhr
ao

(Operator)



Zitat von SunnyBoy:
alter quellcode.
das ist der wo ich Probleme hab

C++:
    fread(&Tag,sizeof("mp3_Tag"),1,fp);





Das hier ist falsch! Muss heißen:

C++:
    fread(&Tag,sizeof(mp3_Tag),1,fp);



ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
20.10.2005, 13:19 Uhr
SunnyBoy



Nein das kann nicht sein . Wenn ich die (mp3_Tag) schreibe krieg ich eine Fehlermeldung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
20.10.2005, 13:36 Uhr
virtual
Sexiest Bit alive
(Operator)


Probierst mit sizeof(struct mp3_Tag)
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
20.10.2005, 13:38 Uhr
Tommix



Hallo,

C++:
fread(&Tag,sizeof(struct mp3_Tag),1,fp);


wenn's C ist (ohne ++).

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
20.10.2005, 14:22 Uhr
ao

(Operator)


Im fseek (eine Zeile drüber) ist es auch so gemacht.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: