Ich habe diese Funktion add_to_string
genannt und ich nenne es aus meiner Hauptfunktion ein Zeichen in einen Stringein Zeichen in eine Zeichenfolge in c
add_to_string(name[I]);
scheint es mir, hinzufügen, dass ich nicht ein Zeichen anhängen kann in ein Faden. Wie würde ich dieses Problem angehen?
mein Hauptziel in diesem Code ist einfach den eingegebenen Namen Initialen zu drucken und den Benutzer falschen Eintrag (Hinzufügen von zwei Leerzeichen zwischen Vor- und Mittelnamen) vermeiden
hier ist mein vollständiger Code
#include<stdio.h>
#include<cs50.h>
#include<string.h>
string add_to_string (char letter);
string result;
int main (void)
{
printf("pleas enter your full name: ");
string name = get_string();
int len = strlen(name);
for (int i = 0; i < len; i++)
{
if (i == 0)
{
add_to_string(name[i]);
} else if (name[i] == ' ')
{
if (name[i + 1] != ' ')
{
add_to_string(name[i]);
}
}
}
printf("%s\n",result);
}
string add_to_string (char letter)
{
strncat(result, letter, 30);
return result;
}
Compile mit allen Warnungen aktiviert ... Sie haben mehrere mißbraucht und geben Fehler, die jeder anständige Compiler sofort Highlight wird. – StoryTeller
Ich verstehe nicht wirklich, was Sie meinten, aber ich nehme an, Sie meinen die Zeichenfolge und get_string(), das ist eine Klasse nimmt und sie uns mit diesem cs50-Header, die diese Typen und Funktionen enthalten –
z. [man strncat] (https://linux.die.net/man/3/strncat): 'char * strncat (char * Ziel, const char * src, size_t n);'. Was ist der Typ des zweiten Param und was ist der Typ, den du ihm gegeben hast? – kaylum