printf en 08 en 09

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ZodiacQ
  • Registratie: Maart 2009
  • Laatst online: 27-01 20:51
Hoi,

Ik ben een klein bash programma aan het schrijven. Ik geef daar variabele "dag"=01, 02...31 mee.

Aangezien ik met leading zero's moet werken, gebruik ik het prinf commando.
Nu geeft dit fouten op 08 en 09. Dit is blijkbaar een welgekende fout? Maar is er ondertussen al een oplossing voor?

Btw ik heb die variabele dag wordt ook gebruikt als bestandsnaam, dus het is belangrijk dat dit zo blijft.

Iemand een idee, ik heb niet veel zin om een extra variabele te definiëren.

Mijn printf commando is het volgende:

printf "UE%04d%02d%02d1200 $STATION\n" $YEAR $MONTH $DAY

Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Het probleem is... 09 is octaal omdat het begint met een 0 en loopt dus maar tot 8. Dus... je zal de 0 moeten strippen aan de linkerkant van je maand en dag.

Maar, aangezien je dus al 01..31 doorgeeft, waarom niet gewoon %s gebruiken?

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • TJHeuvel
  • Registratie: Mei 2008
  • Niet online
Wat is de fout? Wat gebeurt er niet goed? Welke taal is het?

Freelance Unity3D developer


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 12:45

MueR

Admin Tweakers Discord

is niet lief

08 en 09 is dan ook niet bekend in octale notatie.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Ik bedenk me net, als de implementatie net als die van c is zou je ook %02i kunnen gebruiken, dan wordt het altijd als integer geinterpreteerd.

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • ZodiacQ
  • Registratie: Maart 2009
  • Laatst online: 27-01 20:51
%2s werkt. Tnx.
Kheb het door :)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Begrijp je ook waarom?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • ZodiacQ
  • Registratie: Maart 2009
  • Laatst online: 27-01 20:51
NMe schreef op woensdag 10 maart 2010 @ 11:41:
[...]

Begrijp je ook waarom?
Jawel,

Thank god for wikipedia! :P
Pagina: 1