Renault Scenic E-Tech EV - PV-Output - 48kWh LiFePo4 op 15kVa Victron systeem
tijd naar char[] converteren
twee char[]'s samenvoegen (strcat ofzo)
SendMessage(hStatusBar, SB_SETTEXT, 0, (LPARAM)(LPSTR) samengevoegde char[]);
thankzz
Renault Scenic E-Tech EV - PV-Output - 48kWh LiFePo4 op 15kVa Victron systeem
Renault Scenic E-Tech EV - PV-Output - 48kWh LiFePo4 op 15kVa Victron systeem
of gewoon sprintf gebruiken:
1
| sprintf (buffer, "Huidige tijd: %d:%d", uren, minuten); |
(of ostrstream gebruiken)
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.
1
| strcat("SystemTime ", tijd); |
resulteerd in prog crash, excuses voor ongemak enzovoorts
es ff die andere dingen proberen
Renault Scenic E-Tech EV - PV-Output - 48kWh LiFePo4 op 15kVa Victron systeem
Renault Scenic E-Tech EV - PV-Output - 48kWh LiFePo4 op 15kVa Victron systeem
nogal logisch, hij voegt de tijd toe aan de buffer waarin "SystemTime" staat. Aangezien dat een const char[] buffer is, mag je daar niet in schrijven. En al mocht je dat wel, het is maar net de vraag of de data die daarachter staat beschikbaar isOp woensdag 29 mei 2002 19:32 schreef ShereKahn het volgende:
code:
1strcat("SystemTime ", tijd);
resulteerd in prog crash, excuses voor ongemak enzovoorts
es ff die andere dingen proberen
probeer dit eens:
1
2
3
| char buffer[100]; strcpy (buffer, "SystemTime "); strcat (buffer, tijd); |
kan korter, maar heb ik even zo gedaan zodat je een idee krijgt hoe het werkt. Eerst een buffer alloceren (op de stack in dit geval), dan de string SystemTime daarnaartoe kopieren, en daarachter de tijd zetten
Zo werkt het ook, scheelt je weer een copy (hoewel het uiteindelijk niet veel zal verschillen kwa gegenereerde machinecode)
1
2
| char buffer[100] = "SystemTime "; strcat (buffer, tijd); |
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
char[] combineStrings(char[] string1, char[] string2);
nog beter is:
char *combineString(char *string1, char string2);
dit laatste is lastiger, omdat je dus met pointers werkt (moet geheuge zelf regelen).
Je moet dan in een loopje de letters van de twee "strings" in een andere kopieren...
[code]char buffer[100] = "SystemTime ";
[/quote]
Volgens mij missen daar {}
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
tenzij je een echte array van chars bedoelt:
1
| char buffer[100] = { 'S', 'y', 's', 't', 'e', 'm' ... }; |
maar dat bedoel je vast niet
als je er accolades omheen zet, dus zo:
1
| char buffer[100] = { "System Time" } |
dan krijg je een array van strings met 1 element (dus een array van pointers naar chars) (bovenstaande stukje code werkt dus ook niet
vergelijk dat maar eens met dit:
1
| char *buffer[] = { "string1", "string2", "string3" }; |
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.