Brauche hilfe wie geht das?

Es wird eine Zeichenkette und eine positve ganze Zahl

übergeben.Die Zeichenkette soll von rechts her verkürzt werden
und zwar genau um so viel Zeichen wie die positive Zahl
angibt,

Beispiel: Zeichenkette : „Hallo, Welt“
positive ganze Zahl ist: 2
dann heißt die Zeichenkette „Hallo, We“

Freu mich auf Antworten! Dion

Programmierpsrache C

Hey Dion,

Ich kann dir sagen, wie ich das in C# machen würde:
CODE:

// Folgende Methode:

public string CutString(string value, int number)
{
try
{
string output = value.Substring(0,value.Length - number);
return output;
}
catch { return „An error occured while trying to cut the string.“ }
}

// So verwendest du die Methode: (Angenommen, du klickst auf einen Button
// und dann wird der Textinhalt einer textBox1 um den den Wert in einer
// numericUpDown1 von rechts gekürzt und in einem label1 wieder ausgegeben.)

private void button1_Click(object sender, EventArgs e)
{
label1.Text = CutString(textBox1.Text, numericUpDown1.Value);
}

ANMERKUNGEN:
Also du klickst auf den button1 und dann verwendest du die Methode, um deinen Text zu verkürzen.
Da die Methode den bearbeiteten (verkürzten) String - wenn keine Fehler auftreten - wieder zurückgibt
weißt du sie direkt dem Label1.Text zu. Und fertig ist der Gurgensalat! :wink:

Wenn du noch fragen zum Code hast, frag einfach nach :wink:

Grüße Streathdriver

std::string shorten(std::string s,const size\_t n)
{
 const size\_t len = s.length();

 if (n \> len) 
 s = "";
 else 
 s.erase(len-n);

 return s;
}

danke für deine Antwort aber ich brauche die Programmiersprache C

Hallo dion 15

Leider ist C nicht gerade meine Stärke. Außerdem habe ich seit über einen Jahr keine Zeile Code mehr geschrieben und meine Bücher stehen alle in der Firma. Ich kann dir also frühstens nach Ostern etwas in C# schicken, wenn ich was passendes finden kann. Ich denke da son an Arrays wo man den entsprechenden String (Zeichenkette) hinein kopiert und die Länge minus Deiner Zahl wider ausgibt. Vielleicht hift Dir diese Idee ja schon Weiter?! Ansonsten bis nach Ostern und ein schönes Fest!

Gruß Thomas

Es wird eine Zeichenkette und eine positve ganze Zahl

übergeben.Die Zeichenkette soll von rechts her verkürzt werden
und zwar genau um so viel Zeichen wie die positive Zahl
angibt,

mit der Funktion strlen() bekommst Du die Länge der Zeichenkette heraus. Als Argument an strlen übergibtst
Du den Poiter auf Deine Zeichenkeitte.

also etwa so:
char zk[] = „Hello World“;

laenge_string=strlen(zk);
Von laenge_string subtrahiert Du Dein zweites Argument.
laenge_string -= arg2;

Den String zk verkürzt Du danach so:

zk[laenge_string]=’\0’:

danke für deine Antwort aber ich brauche die
Programmiersprache C

char\* shorten(char\* s,const size\_t n)
{
 size\_t len = strlen(s);

 if (n \> len) 
 {
 s = "";
 }
 else 
 {
 s[len-n] = '\0';
 }

 return s;
}

wobei der Eingabestring modifiziert wird.

Leider kann ich dir nicht weiterhelfen. Ich bin heilfroh, dass ich „höhere“ Programiersprachen zur Verfügung habe. In C# wäre das mit der string-Klasse kein Problem.
Gruß
Mathias