Autor |
Nachricht |
[-A-L-E-X-]
Threadersteller
Dabei seit: 21.10.2002
Ort: DE
Alter: 38
Geschlecht:
|
Verfasst Di 09.11.2004 09:01
Titel C variable char |
|
|
weis jemand wie ich damit einen ganzen satz einlesen kann oder gibt es da ne andre möglichkeit?
Code: | #include < stdio.h>
int main ()
{
char in;
printf ("Welcome! \n Dieses Program soll einen Satz einlesen \n und diesen ohne satzzeichen ausgeben. \n \n Eingabe: ");
scanf ("%c" ,&in);
printf (" \n Ausgabe: %c \n \n", in);
} |
|
|
|
|
|
Sarky
Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht:
|
Verfasst Di 09.11.2004 09:53
Titel Re: C variable char |
|
|
Code: |
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* getstr(void)
{
unsigned char *dst;
int c;
if ((dst=(unsigned char *)malloc(1)) == NULL) return 0;
dst[0]='\0';
while((c = getchar()) != '\n')
{
if ((dst=(unsigned char *)realloc(dst, strlen(dst)+3)) == NULL) return 0;
sprintf(dst, "%s%c", dst, c);
}
return dst;
}
int main()
{
char *str;
printf("Text eingeben: ");
fflush(stdout);
if ((str = getstr()) == NULL)
{
printf("Fehler: Kein Speicher frei!\n"); exit(1);
}
printf("Du hast eingegeben: %s\n", str);
free(str);
return 0;
}
|
http://www.fh-fulda.de/~klingebiel/c-kurs/
Zuletzt bearbeitet von Sarky am Di 09.11.2004 10:19, insgesamt 2-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
[-A-L-E-X-]
Threadersteller
Dabei seit: 21.10.2002
Ort: DE
Alter: 38
Geschlecht:
|
Verfasst Di 09.11.2004 10:13
Titel
|
|
|
ok es geht so
Code: | #include < stdio.h>
int main ()
{
char in[50];
printf ("Welcome! \n Dieses Program soll einen Satz einlesen \n und diesen ohne satzzeichen ausgeben. \n \n Eingabe: ");
gets(in);
printf (" \n Ausgabe: %s \n \n", in);
} |
|
|
|
|
|
Sarky
Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht:
|
Verfasst Di 09.11.2004 10:20
Titel
|
|
|
Sorry, es ist zu lange her, daß ich mich mit Standard C rumschlagen mußte (Gott sei dank, das ist nämlich so was von nervig). Habe meinen Lösungsvorschlag oben korrigiert.
|
|
|
|
|
[-A-L-E-X-]
Threadersteller
Dabei seit: 21.10.2002
Ort: DE
Alter: 38
Geschlecht:
|
Verfasst Di 09.11.2004 10:25
Titel
|
|
|
nehme mal die kürzere version die auch geht... nur sollten es halt net mehr als 50 zeichen sein....
|
|
|
|
|
Sarky
Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht:
|
Verfasst Di 09.11.2004 10:26
Titel
|
|
|
Yep, sonst läßt Buffer Overflow grüßen.
Alternativ kann die "längere" Variante dynamische Strings einlesen.
|
|
|
|
|
[-A-L-E-X-]
Threadersteller
Dabei seit: 21.10.2002
Ort: DE
Alter: 38
Geschlecht:
|
Verfasst Di 09.11.2004 10:29
Titel
|
|
|
ja das prog soll ja nur dazu dienen aus nen satz satz seichen rauszunehmen und bei der längeren fassung könne ich das net alles erklären was da pasiert...
hmm jetzt muss ich mir nur noch überlegen wie ich satzzeichen aus den string krige....
vorgegeben wahr...
Code: | n=strlen(satz);
for(i=0,j=-1;i<n;i++)
{
if(satz[i]=='.'||satz[i]==','||satz[i]=='?'||satz[i]=='!') continue;
else
{
j++;
ausgabe[j]= satz[i];
|
aber weis noch net so wirklich wie das gehn soll
|
|
|
|
|
|
|
|
Ähnliche Themen |
[SQL] Variable durch Variable aus anderer Tabelle ersetzen
PHP Variable in Textfeld
Variable von JS an PHP übergeben?
[AS] String als Variable
{css} variable abstände mit css?
Definition Variable
|
|