Avatar billede saki Nybegynder
12. august 2004 - 09:29 Der er 8 kommentarer og
1 løsning

formatering af tid med out_file

Har lidt kode hvor jeg gerne vil have at når tiden f.eks er 9:9.30
at der så står 090930 og ikke som jeg har fået det til 9939. den skriver ikke 0'erne med.

koden ser således ud:

out_file << st.wHour << ',' ;


det her er så strukturen.
SYSTEMTIME st;
GetSystemTime(&st);
Avatar billede arne_v Ekspert
12. august 2004 - 09:41 #1
Brug f.eks. sprintf til at formatere det til en streng.

char buf[50];
sprintf(buf,"%02d%02d%02d",st.wHour,st.wMinute,st.wSecond);
Avatar billede arne_v Ekspert
12. august 2004 - 09:41 #2
%02d laver foranstillede nuller som du vil
Avatar billede arne_v Ekspert
12. august 2004 - 09:42 #3
Hvis du har MFC support i din compiler kan du også bruge noget smart fra den.
Avatar billede saki Nybegynder
12. august 2004 - 10:13 #4
arne det du sagde sagde min ven også til mig her. Problemet var at vores char var for lille, en lille ting vi ikke havde lagt mærke til. men tak for hjælpen alligevel.
Avatar billede arne_v Ekspert
12. august 2004 - 13:34 #5
Du skal nok ikke forvente at blive specielt populær med:
  - "hvordan laver jeg X"
  - "det gør du på den her måde"
  - "det havde jeg selv fundet ud" og selv tage point
Avatar billede bertelbrander Novice
12. august 2004 - 20:28 #6
I C++ ville det se sådan ud:

#include <iostream>
#include <iomanip>
#include <windows.h>

int main()
{
  SYSTEMTIME SystemTime;
  GetSystemTime(&SystemTime);

  std::cout << std::setw(2) << std::setfill('0') << SystemTime.wHour;
  std::cout << std::setw(2) << std::setfill('0') << SystemTime.wMinute << std::endl;
}
Avatar billede arne_v Ekspert
12. august 2004 - 22:17 #7
Den konstruktion finder jeg så grim !

MFC er pænere:

  SYSTEMTIME t;
  GetLocalTime(&t);
  CTime *t2 = new CTime(t);
  char *s = (LPCTSTR)t2->Format("%H%M%S");
Avatar billede bertelbrander Novice
12. august 2004 - 22:35 #8
Ja, kønt er det ikke, prøv f.ex. at få cout til at udskrive det samme som sprintf med %08X

Men det har dog den fordel fremfor MFC at det virker på alle C++ kompilere.
Avatar billede arne_v Ekspert
12. august 2004 - 22:38 #9
Rigtigt nok, men det gør gode gamle sprintf jo også.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester