עבור לתוכן

C | עזרה ביציאה מלולאה

Featured Replies

פורסם

שלום

while(password!='\n')
{
scanf("%c", &password);
if (IsLower(password))
low++;
if (IsCapital(password))
cap++;
if (IsDigit(password))
dig++;
if (IsSpecial(password))
spc++;
length++;
}

יש לי בעיה בקוד, כשאני מפעיל את הEXE - אחרי שאני מזין את התווים ולוחץ אנטר, הלולאה מסתיימת.

הבעיה היא כשאני עושה REDIRECTION מקובץ TXT, אז הלולאה נתקעת, כי היא לא מקבלת מקש אנטר.

איך אני פותר את הבעיה? תודה

פורסם

תשנה את התנאי ל


while (password != '\n' && scanf("%c", &password) != EOF)

ותבטל את הקריאה לscanf שבגוף הלולאה.

לחילופין תוסיף בדיקה שאם scanf החזירה EOF, אז תצא מהלולאה עם break.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים