Strcat und B&R

knuppel

Level-1
Beiträge
189
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich versuche einen Dateinamen aus Monat (00-12), Jahr und Tag (00-31) zusammenzusetzen.
Da es auch Tage und Monate mit nur einer Stelle gibt, will ich die Fehlende stelle mit einer 0 füllen.
Mein Code:
Code:
    itoa(year, (UDINT) &xyear); 
    itoa(month, (UDINT) &xmonth); 
    itoa(day, (UDINT) &xday); 
    STRING Test[17]="";
    strcpy(filename,Test);
    strcat(filename,xyear);
    if(month<=9){
        strcat(filename,"0");
        strcat(filename,xmonth);
    }else{
        strcat(filename,xmonth);
    }
      
    if(xday<=9){
        strcat(filename,"0");
        strcat(filename,xday);
    }else{
        strcat(filename,xday);
    }
    strcat(filename,".txt");

Für den 6.3.2014 bekomme ich 20153036.txt es sollte aber 20150306.txt sein.
Wo könnte mein Fehler liegen?
 
Hallo Knubbel,

Code:
...
if(xday<=9) {
...
Es müsste heißen "if(day<=9)"


Ich würde eine führende Null jedoch folgendermaßen -ohne Abfrage- realisieren:
Code:
RIGHT(strcat("0", xday), 2)
Ungetestet, da manchmal ineinander verschachtelte Methoden nicht (sauber) funktionieren.


Gruß, Fred
 
Zurück
Oben