Toon posts:

[C++] van *.txt file omzetten naar een c++ data array

Pagina: 1
Acties:
  • 258 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
he mensen,

ik heb gezocht in de search optie maar kon helaas niks vinden over het van *.txt file omzetten naar c++ data array.

Ik zoek een tool waar mee je makkelijk een *.txt file om kan zetten naar data array.

hier een voorbeeld:
van tweakers.txt met de inhoud:
"hallo tweakers"


naar c++ data array:

extern const unsigned char tweakers[]={
0x68,0x61,0x6c,0x6c,0x6f,0x20,0x74,0x77,0x65,0x61,0x6b,0x65,0x72,0x73
};


is er hiervoor een tool?

hopelijk kunnen jullie mij hierbij helpen

groetjes b

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:00

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ja, daar zijn tooltjes voor, maar het moet toch ook niet zo moeilijk zijn om dat zelf te maken :? Gewoon een kwestie van een file inlezen en dat outputten naar C++ code. Ik zie het probleem niet

(overigens snap ik niet waarom je 'm als extern declareert terwijl je 'm ook initialiseert (en dus definieert). In de header moet de data weg, in de source file kan dat extern weg ;))

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Obliterator
  • Registratie: November 2000
  • Laatst online: 30-04 16:09
wat is er mis met:

extern const unsigned char tweakers[]="Hallo Tweakers";

  • Macros
  • Registratie: Februari 2000
  • Laatst online: 30-04 09:28

Macros

I'm watching...

Voor als je quines wilt schrijven of andere obfuscated code ;)

"Beauty is the ultimate defence against complexity." David Gelernter


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Obliterator schreef op 25 februari 2004 @ 17:26:
wat is er mis met:

extern const unsigned char tweakers[]="Hallo Tweakers";
Afgezien van dat de 'extern' als zijnde overbodig compleet genegeerd gaat worden niets :z

Professionele website nodig?


Verwijderd

Topicstarter
nou ik heb naast de cpp file van die text bestandje ook een header file. het is namelijk vrij irritant als je bijvoorbeeld een applicatie maakt waarbij je zowel plaatjes als text of weet ik wat allemaal in een file te moeten zetten.

maar jullie hebben geen idee wat voor tools ik kan gebruiken?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:00

.oisyn

Moderator Devschuur®

Demotivational Speaker

Dan zit je hier sowieso in het verkeerde forum, dit is een programmeer-forum, we zijn geen helpdesk voor verschillende tools :)

En toch ben ik nog steeds van mening dat dit in een half uurtje wel te maken is. Ik zou het als volgt aanpakken:

Lees welke bestanden je wilt importeren in via de commandline of een extern configuratiebestandje.
Lees al die bestanden dan één voor één in en output ze naar zowel een header als een source file.

Het inlezen en outputten is natuurlijk een kwestie van: "const unsigned char <identifier> [] = {" outputten, elke byte in de file afzonderlijk wegschrijven als een waarde gescheiden door komma's, en vervolgens de "};" erachteraan plakken

[ Voor 69% gewijzigd door .oisyn op 25-02-2004 17:42 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
:s oke als er ander manieren zijn hoor ik het graag >:)

maar hoe zetten jullie bijvoorbeeld een *.gif bestandje dan om naar een c++ data array zonder tools?

dat wil ik weleens weten:p

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:00

.oisyn

Moderator Devschuur®

Demotivational Speaker

Waarom zou je dat überhaupt willen :? Ik kan me maar 1 mogelijkheid bedenken, en dat is bepaalde images voor bijvoorbeeld een gameboy spel oid. Voor de rest kun je ervoor kiezen om de files gewoon apart in te lezen tijdens het runnen, en onder win32 kun je ze als resource includen en uitlezen met de win32 api

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
nou het probleem is dat ik geen gebruikt maakt van de win32 api.

ik experimenteer momenteel met FOX en openscenegraph. en een van de eisen ervan is dat de source code portable moet zijn.

Verwijderd

zoiets:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main (int argc, char **argv)
{
    int fd;
    char c;

    fd = open("filename", O_RDONLY);

    printf("extern blaahah.... \n");
    while (read(fd, &c, 1) == 1) {
        printf("0x%.2x, ", c);
    }

    close(fd);

    return 0;
}

disclaimer: niet compileerd, niet getest

[ Voor 12% gewijzigd door Verwijderd op 25-02-2004 19:04 ]

Pagina: 1