עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

לא מצליח לשלוח EOF תחת ווינדוס 7

Featured Replies

פורסם

גילוי נאות: התלבטתי רבות אם לפתוח את האשכול בפורום תכנות או בפורום זה, והחלטתי בסוף שזו בעיה במערכת ההפעלה ולא בשפה

ולכן אתייעץ אתכם :-)

אני לומד לתכנת בשפת C בסביבת העבודה של Microsoft Visual C++ Express '10

ואני לא מצליח לדמות שליחה של EOF בתוכניות שאני כותב.

שלחתי את הקוד לחבר אחר שאצלו הכל עובד פיקס.

יש למישהו מושג איך אפשר לטפל או להתחיל לאבחן את הבעיה?

תודה.

פורסם
  • מחבר

ממש כך,

הפעלת התוכנית הבאה:



#include <stdio.h>


main() {


int c, i, j, k;
int length[20];


for (i = 0; i <= 20; i++)
length[i] = 0;


for (j = 0; j <= 20; ++j) {
while ((c = getchar()) != EOF) {
if (c != ' ' || c != '\n' || c != '\t')
++length[j];
if (c == EOF) break;
}
}

for (k = 0; k <= 20; k++)
printf("Word %d : %d", k+1, length[k]);


printf("All good baby...");


return 0;
}

נראית כך:

nWwSG.png

פורסם

יש לך באגים בתכנית. לדוגמה, אתה חורג מגבולות המערך.

חוץ מזה, ניסית לדבג את התכנית כדי לראות מה היא עושה בדיוק?

פורסם
  • מחבר

ובכל זאת, גם בתוכניות פשוטות הרבה יותר אני לא מצליח לשלוח EOF.


#include <stdio.h>
main() {
int c;

while ((c = getchar()) != EOF) {
putchar(c);
}
return 0;
}

פורסם

צודק, מחיפוש באינטרנט נראה שזו בעיה מוכרת.

תנסה לרדת שורה ואז לעשות ctrl+Z (זה לא פתרון מושלם, אבל אנשים טוענים שזה עובד).

פורסם
  • מחבר

כלום... זה ממש מתסכל :s07:

פורסם
  • מחבר

מישהו? :kopfpatsch:

פורסם
  • מחבר

שום דבר מיוחד... פשוט לא מקבל EOF

פורסם

מה זאת אומרת?

מה אתה כן מקבל? כשאתה לוחץ על ctrl+Z לא מתקבל שום תו?

פורסם

אצלי הZ^ מזוהה כEOF אם ורק אם הוא מתחיל שורה. אחרת הוא מודפס כחץ ימינה.

פורסם

בגלל זה הצעתי את זה:

תנסה לרדת שורה ואז לעשות ctrl+Z (זה לא פתרון מושלם, אבל אנשים טוענים שזה עובד).

פורסם

אגב, בויסטה אותה ההתנהגות.

  • 2 שבועות מאוחר יותר...
פורסם
  • מחבר

מתנצל על ההעלמות,

הקשת CTRL+Z בשורה חדשה נותנת את התוצאה הבאה,

nH59a.png

שהיא כמובן לא ה-OUTPUT שאמור להופיע בעת קבלת EOF.

אני ממש ממש טירון בתכנות בכלל ו-C בפרט, למה התכוונת כשהצעת

לדבג את התוכנית?

ארכיון

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

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.