Funktion schreiben noch Fehler
-
Hallo Experten
Diese Anweisung soll den String das 5. Zeichen durch das § ersetzen. Aber es funktioniert nicht. Der gibt eine Fehlermeldung aus was mache ich falsch?
#include <stdio.h>
int Umwandeln(char*s)
{
int i;
for(i=0;s[i]!='\0';i++)
if(s[i]==5)
{
s='§';
}return s;
}
void main(void)
{
char s[120];
printf("Bitte einen String eingeben:");
gets(s);
printf("Das sieht nun so aus: %d",Umwandeln(s));
}und diese soll nach den 13. Zeichen beendet werden
#include <stdio.h>
int Beenden(char*s)
{
int i;
for(i=0;s[i]!='\0';i++)
if(s[i]==13)
{
s[i]='\0';
}return s;
}
void main(void)
{
char s[120];
printf("Bitte einen String eingeben:");
gets(s);
printf("Der String wurde nach den 13. Buchstaben beendet %s",Beenden(s));
}
-
*popcorn hol*
-
#include <stdio.h> int Umwandeln(char*s) { int i; for(i=0;s[i]!='\0';i++) if(s[i]==5) { s='§'; }
sollte eigentlich
[/cpp]
#include <cstdio>
int Umwandeln(char*s)
{
int i;
for(i=0;s[i]!='\0';i++)
if(s[i]=='5')
{
s='§';
}[cpp]
heissenmfg
Glamdring
-
@ Master_Max:
mfg
Glamdring
-
Guckst du hier: http://www.c-plusplus.net/forum/viewtopic.php?t=62762
MfG Max
-
Dann schließ ich mich dem an! (nachträglich)
Glamdring
-
Ich nehm auch ne Schachtel Popcorn und warte bis der Thread geschlossen wird
-
#include <stdio.h>
int Umwandeln(char*s)
{
int i;
for(i=0;s[i]!='\0';i++)
if(s[i]==5)
{
s='§';
}Der gibt ein Fehler aus:
const char' kann nicht in 'char *' konvertiert werden
-
Zum letzten mal:
if (s[i] == 5)
Damit Fragt ihr den Inhalt des Elements im Array ab. (Arrays beginnen in C/C++ mit dem Index 0) und nicht ob i gleich 4(5) ist.
Also müsste es korrekterweise heissen:
if (i==4) s[i] = '§'; // oder s[4] = '§';
Natürlich kann man das auch besser machen, indem man von der std Bibliothek gebrauch macht.
Edit: Kommentar hinzugefügt
-
Gibt's doch nicht.
Hab den Thread doch tatsächlich übersehen...
Naja, nochmal der Hinweis:
Hier ist das Original
Sorry für die Verspätung