WinFuture-Forum.de: Frage Zu Printf - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Frage Zu Printf


#1 Mitglied ist offline   efchris16 

  • Gruppe: aktive Mitglieder
  • Beiträge: 493
  • Beigetreten: 22. Februar 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Erfurt

geschrieben 30. November 2008 - 19:24

Hi zusammen,

hab mal kurz eine Frage zu printf: Ich hab eine bestimmte Variable und die gibt das aktuelle Jahr aus, welches ich mit Hilfe der time.h bestimme. Nun kommt da ja natürlich 2008 raus. Ich möchte aber nur das 08. Wie kann ich das jetzt formatieren in der Ausgabe?
Gruss Chris :lol:
Eingefügtes Bild
0

Anzeige



#2 Mitglied ist offline   tavoc 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.446
  • Beigetreten: 22. Juli 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 30. November 2008 - 19:37

von welcher sprache sprechen wir denn? ein C dialekt?

Kannst es ja mit einer art Substring versuchen...

ala substr(2,2)
your IP is 127.0.0.1 or ::1
you are running an OS
you use a Browser
I know so much about you...
0

#3 Mitglied ist offline   efchris16 

  • Gruppe: aktive Mitglieder
  • Beiträge: 493
  • Beigetreten: 22. Februar 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Erfurt

geschrieben 30. November 2008 - 19:39

Oh sorry,ganz vergessen: es handelt sich um c und die IDE ist Visual Studio 6.0.

Dieser Beitrag wurde von efchris16 bearbeitet: 30. November 2008 - 19:40

Eingefügtes Bild
0

#4 Mitglied ist offline   tavoc 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.446
  • Beigetreten: 22. Juli 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 30. November 2008 - 20:01

na dann machste halt ein

string s = "2008;
s = s.substr( 2, 2 );
printf (s);
your IP is 127.0.0.1 or ::1
you are running an OS
you use a Browser
I know so much about you...
0

#5 Mitglied ist offline   efchris16 

  • Gruppe: aktive Mitglieder
  • Beiträge: 493
  • Beigetreten: 22. Februar 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Erfurt

geschrieben 30. November 2008 - 20:03

Was bringt das 2,2 in den Klammern? Danke schon mal für Deine Hilfe. =)
Eingefügtes Bild
0

#6 Mitglied ist offline   tavoc 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.446
  • Beigetreten: 22. Juli 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 30. November 2008 - 20:22

das gibt dir einen teil des strings wieder.

die erste 2 steht dafür das es ab der 2ten position anfängt und die zweite 2 sagt, das der zurückgegebende string 2 zeichen lang sein soll. Kurz es gibt dir das 3ten und 4ten zeichen des String zurück.

Also wird aus 2008 ein 08...,
your IP is 127.0.0.1 or ::1
you are running an OS
you use a Browser
I know so much about you...
0

#7 Mitglied ist offline   efchris16 

  • Gruppe: aktive Mitglieder
  • Beiträge: 493
  • Beigetreten: 22. Februar 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Erfurt

geschrieben 30. November 2008 - 20:25

Ok,danke für die Erklärung. Kannte ich noch nicht.
Eingefügtes Bild
0

#8 Mitglied ist offline   bardelot 

  • Gruppe: aktive Mitglieder
  • Beiträge: 517
  • Beigetreten: 20. März 04
  • Reputation: 0

geschrieben 01. Dezember 2008 - 01:19

substr ist aber C++ und nicht C.

Kurzbeispiel in C
#include <stdio.h>
#include <string.h>

int main()
{
  char str1[] = "2008";
  char str2[3];
  strncpy(str2, &str1[2], 2);
  str2[3] = '\0';
  puts(str2);
  return 0;
}

0

#9 Mitglied ist offline   tavoc 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.446
  • Beigetreten: 22. Juli 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 01. Dezember 2008 - 09:40

Hast recht, hatte ich vergessen.
Oder man baut sich seine substr Funktion selber :), braucht man ja öfter.

char *substr(const char *s, size_t start, size_t len)
{
char *d;
assert(s != NULL);
d = malloc(len + 1);
if(d == NULL)
return NULL;
strncpy(d, s + start, len);
d[len] = '\0';
return d;
}
your IP is 127.0.0.1 or ::1
you are running an OS
you use a Browser
I know so much about you...
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0