[C++] Datum uit text/binair bestanden...

Pagina: 1
Acties:

  • joskuiper
  • Registratie: November 2001
  • Laatst online: 20-08 11:57

joskuiper

PapaCooper

Topicstarter
Ik heb het volgende programmeer-probleem:

Ik werk met 2 bestanden. Een bevat een record met de huidige datum (dit is een tekstbestand).

Die huidige datum is in drie delen opgedeeld die ik als volgt aanroep: int dag, maand, jaar;

Het andere bestand bevat een datum van ingang en een datum van einde.
Dit bestand is binair. De datum word gelezen als een rijtje van 8 tekens (bv. 20030203 = 3 februari 2003)

Er moet worden gecontroleert of de huidige datum binnen de begin en einddatum valt of eraan gelijk is.

HOE? ik kom er niet uit!

Game-PC: NZXT H7 Flow | Asus TUF Gaming x670E-plus | AMD 7700x | NZXT Kraken Z53 | 32GB Kingston Fury Renegade | Corsair RM1000x | Gigabyte RTX 4090 Gaming OC | 2x WD Black SN850x 2TB | LG Ultragear 27GL850 | LG Ultragear 27GR95QE


  • joskuiper
  • Registratie: November 2001
  • Laatst online: 20-08 11:57

joskuiper

PapaCooper

Topicstarter
Kan er nog ff C++ voor de titel komen te staan??

Game-PC: NZXT H7 Flow | Asus TUF Gaming x670E-plus | AMD 7700x | NZXT Kraken Z53 | 32GB Kingston Fury Renegade | Corsair RM1000x | Gigabyte RTX 4090 Gaming OC | 2x WD Black SN850x 2TB | LG Ultragear 27GL850 | LG Ultragear 27GR95QE


  • Skaah
  • Registratie: Juni 2001
  • Niet online
Hier stond iets doms voordat de TS zijn taal duidelijk maakte

[ Voor 81% gewijzigd door Skaah op 02-11-2003 14:53 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Lees de tekens in.
1-4 = jaar
5-6 = maand
7-8 = dag

Format deze als een datum/tijd.
Doe dit voor beide.

Controleer of de huidige datum groter of gelijk is aan de begindatum en kleiner of gelijk aan de einddatum.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • joskuiper
  • Registratie: November 2001
  • Laatst online: 20-08 11:57

joskuiper

PapaCooper

Topicstarter
Ja maar HOE? met welke code?

Game-PC: NZXT H7 Flow | Asus TUF Gaming x670E-plus | AMD 7700x | NZXT Kraken Z53 | 32GB Kingston Fury Renegade | Corsair RM1000x | Gigabyte RTX 4090 Gaming OC | 2x WD Black SN850x 2TB | LG Ultragear 27GL850 | LG Ultragear 27GR95QE


Verwijderd

Lees de 8 characters in, en vergelijk ze met strcmp?

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 20-08 00:10
Cheatah heeft in principe gelijk; als je twee strings van de vorm YYYYMMDD hebt, dan kun je ze met strcmp (of memcmp) vergelijken. Je moet dan echter wel de eerste datum ook naar dat formaat omzetten. Hoe dat moet is ten dele afhankelijk van je platform en voor een groot deel afhankelijk van het formaat van de datum in je tekstbestand.

Onder FreeBSD parse ik data altijd met strptime, waar ik een formaat zoals strftime ook accepteert in kan stoppen, maar volgens mij is dat niet portable.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 12:02

.oisyn

Moderator Devschuur®

Demotivational Speaker

Je zou ook eens naar de documentatie van mktime () kunnen kijken

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.


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 17:14
Het maakt niet uit naar welk formaat je de datum omzet, zolang het formaat maar makkelijk sorteert. je kunt bijvoorbeeld heel simpel een datum naar een 32 bits nummer YY YY MM DD omzetten. Vanuit een string formaat formaat YYYYMMDD is dat heel simpel; elk karakter c-'0' is een byte/cijfer. Vanuit 3 ints is het nauwelijks moeilijker; bytes year/1000, year /100 %10, year /10 %10, year %10, M /10, m%10, d/10, d%10.

@Cheatah: TS gebruikt C++, en heeft dus < en == voor strings.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein

Pagina: 1