כותב |
|
zoobooboozoo משתמש פעיל
הצטרף / הצטרפה: 27 November 2005
משתמש: מנותק/ת הודעות: 80
|
נשלח בתאריך: 04 December 2005 בשעה 21:56 | | IP רשוּם
|
|
|
|
שלום לכולם, כולם מכירים את SCANF(x) כמובן... אבל אני לא רוצה שהמשתמש יצתרך להקיש ENTER איך אותו דבר שהוא מכניס.
איך אפשר לעשות את זה?
|
חזרה לתחילת העמוד |
|
|
y2cRAck4 אחראי פורומים
הצטרף / הצטרפה: 28 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 437
|
נשלח בתאריך: 04 December 2005 בשעה 21:58 | | IP רשוּם
|
|
|
|
היה כבר דיון על הנושא. נא חפש בפוסטים קודמים.
__________________ ? Why to crack for
|
חזרה לתחילת העמוד |
|
|
zoobooboozoo משתמש פעיל
הצטרף / הצטרפה: 27 November 2005
משתמש: מנותק/ת הודעות: 80
|
נשלח בתאריך: 04 December 2005 בשעה 22:19 | | IP רשוּם
|
|
|
|
חיפשתי בשלושה עמודים האחרונים ואין כלום
עריכה: לא משנה מצאתי תודה רבה
|
חזרה לתחילת העמוד |
|
|
y2cRAck4 אחראי פורומים
הצטרף / הצטרפה: 28 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 437
|
נשלח בתאריך: 05 December 2005 בשעה 14:32 | | IP רשוּם
|
|
|
|
אולי תרשום את הפיתרון כדי שלאחרים בעתיד תהיה כבר את התשובה?
__________________ ? Why to crack for
|
חזרה לתחילת העמוד |
|
|
אבידור משתמש חבר
הצטרף / הצטרפה: 11 October 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 162
|
נשלח בתאריך: 05 December 2005 בשעה 17:49 | | IP רשוּם
|
|
|
|
הנך יכול להשתמש בפקודה getch שקולטת תו אחד.
או אם תרצה מחרוזת שלמה, תוכל לעשות לולאה שתקלוט לתוך המערך את התווים.
חסרונות:
- אין אפשרות מחיקה בטעות
- עליך לדעת את האורך המדוייק של המחרוזת
|
חזרה לתחילת העמוד |
|
|
pitbull משתמש חבר
הצטרף / הצטרפה: 14 May 2005
משתמש: מנותק/ת הודעות: 209
|
נשלח בתאריך: 05 December 2005 בשעה 20:04 | | IP רשוּם
|
|
|
|
אבידור לא מדוייק, במקרה ורוצים לקלוט מחרוזת לא חובה לדעת את גודלה מראש.. דוגמא קטנה:
קוד:
#include <stdio.h>
int main() { int c;
while ((c=getchar()) != EOF) putchar(c);
return 0; }
|
|
|
אפשר לעשות עם זה דברים נחמדים, זה תחליף ל scanf() הרגיל שהרבה אנשים ומאמרים אומרים שלא טוב להשתמש בו...
|
חזרה לתחילת העמוד |
|
|
אבידור משתמש חבר
הצטרף / הצטרפה: 11 October 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 162
|
נשלח בתאריך: 05 December 2005 בשעה 21:21 | | IP רשוּם
|
|
|
|
סליחה, איזה תו עלינו לכתוב כדי לקבל EOF ולסיים את המחרוזת?
|
חזרה לתחילת העמוד |
|
|
pitbull משתמש חבר
הצטרף / הצטרפה: 14 May 2005
משתמש: מנותק/ת הודעות: 209
|
נשלח בתאריך: 05 December 2005 בשעה 22:59 | | IP רשוּם
|
|
|
|
לחיצה על אנטר, זה אכן לא מתאים למה שהוא ביקש אבל עדיין פשוט באתי להראות שאם משתמשים ב getchar() לקליטת מחרוזת אז גודלה לא חייב להיות ידוע מראש..
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 05 December 2005 בשעה 23:19 | | IP רשוּם
|
|
|
|
לא ביצעת שום פקודת קליטה בכך שעשית PUTCHAR תקן אותי אם אני טועה, כלומר אתה לא יכול לעשות שימוש חוזר בערכים שקלטת.
כמובן שאפשר לעשות את זה ע"י מערך דינמי של CHAR...
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
Inj3ction משתמש חבר
הצטרף / הצטרפה: 09 October 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 149
|
נשלח בתאריך: 06 December 2005 בשעה 00:01 | | IP רשוּם
|
|
|
|
אם אתה רוצה לקלוט תו מהמשתמש בלי שהוא ילחץ אנטר אפשר לעשות ככה:
קוד:
#include <stdio.h>
#include <conio.h>
char c;
main()
{
c=getch();
if (c=='a') printf("%c",c);
else printf("bla");
getch();
}
|
|
|
(סתם קוד דוגמא דפוק בשביל שתבין את הרעיון..)
|
חזרה לתחילת העמוד |
|
|
pitbull משתמש חבר
הצטרף / הצטרפה: 14 May 2005
משתמש: מנותק/ת הודעות: 209
|
נשלח בתאריך: 06 December 2005 בשעה 16:02 | | IP רשוּם
|
|
|
|
SBD כתב:
לא ביצעת שום פקודת קליטה בכך שעשית PUTCHAR תקן אותי אם אני טועה, כלומר אתה לא יכול לעשות שימוש חוזר בערכים שקלטת.
כמובן שאפשר לעשות את זה ע"י מערך דינמי של CHAR... |
|
|
נתתי דוגמא קצרה, כמובן שבמקום ה putchar() אפשר פשוט להכניס את האות שנקלטה למערך [מוגדר מראש, או אם רוצים דינאמי] ואז אפשר לעבוד עם הקלט..
|
חזרה לתחילת העמוד |
|
|