leere Eingabe in C

Emu-Emsen

Mitglied
Hallo,
ich möchte mit C eine Eingabe machen, es soll aber auch eine leere Eingabe möglich sein, also wenn man einfach Enter drückt.

Mit scanf() geht das leider nicht. Welche Funktion brauche ich dazu und wie kann ich dann auswerten, ob eine leere Eingabe gemacht wurde?

Danke!
 
scanf() wartet ja auf eine Eingabe, wenn ich nur Enter drücke, kommt man aus dem Wartestatus nicht raus, wieso soll ich dann auf eine leere Eingabe abprüfen?
 
moin


Du kannst es wie pycak gesagt hat machen:
Code:
printf("Drücken sie irgendeine taste um fortzufahren");
getch();

Code:
printf("Drücken sie Enter um fortzufahren");

while(1)
{
    int taste = getch();
    if(taste == 13)
        break;
}



mfg
umbrasaxum
 
Naja, es soll ja nur nich ein Zeichen, sondern eine Zeichenkette eingelesen werden, nur falls einfach Enter gedrückt wurde, ohne Eingabe, dann soll etwas bestimmtes passieren.

Da hab ich keine Idee, wie ich das machen soll?
 
moin


Meinst du das hier:
Code:
Edit:
War nicht richtig


mfg
umbrasaxum
 
Zuletzt bearbeitet:
moin


Aber ich denke so ist es wie du es willst:
Code:
#include <conio.h>
#include <stdio.h>


int main( )
{
	char text[20];
	char taste;
	
	int i=0;

	text[0] = '\0';

	//einlesen
	while(1)
	{
		taste = (char)getch();

		if(taste == (char)13)
			break;

        text[i++] = taste;
		text[i] = '\0';

		//falls die eingabe nciht sichtbar sein soll, folgende zeile weglassen
		printf("%c", text[i-1]);
        
	}

	//überprüfen ob was eingegeben wurde
	if(text[0] == '\0')
		printf("Es wurde ncihts eingegeben!");


	printf("%s", text);
	

	return 0;
}


mfg
umbrasaxum
 
Zurück