CString und strncpy



  • hallo

    arbeite mit vc6++ und mfc.

    folgendes problem:

    char zeile[1000] = "";
    char kopieren[1000] = "";

    strncpy(kopieren+190,zeile,23);

    in der variable kopieren sind z.b. 500 zeichen. jetzt wird an der stelle 190 von der variable zeile 23 zeichen in die variable kopieren eingefügt. alles was nach der stelle 213 kommt, wird so gelassen wie es ist.

    bräuchte das selbe für CString.

    CString zeile;
    CString kopieren;

    die funktion strncpy geht ja nicht bei CString. wie muss man das da machen?

    vielen dank
    cu



  • => CString::Mid



  • CString source;
    CString fin;
    for(int i = 0; i <= 500;i++)
    {
      // kopiert von zeichen 100 bis 150  
      if(i >= 100 && i <= 150)fin += source[i];
      // kopiert alle zeichen mit "0" ab zeichen 150.
      if(i >= 151)fin += "0";
    }
    

    MFG

    RS



  • hallo

    dank euch vielmals

    aber gibts da nicht eine funktion wie strncpy? jedesmal eine for-schleife machen ist ja voll umständlich. die Mid-Funktion schneidet ja leider nur ein stück heraus - bräuchte genau das gegenteil - soll was ab einer bestimmten postion mit bestimmter länge in eine variable einfügen.

    hoffe da gibts noch was anderes...

    wünsche nen schönen abend
    bis dann
    cu



  • guten morgen

    bedanke mich recht herzlich für die ratschläge - werde ich auch so machen (mit format)..

    noch nen schönen tag
    cu

    [ Dieser Beitrag wurde am 19.02.2003 um 10:31 Uhr von horchstein editiert. ]



  • Dann gäbe es da auch noch Insert und Delete



  • CString zeile;
    CString kopieren;
    
    kopieren=zeile.Mid(190,23);
    

Anmelden zum Antworten