פורסם 2012 בספטמבר 3013 שנים חברים שלוםיש לי בעיה כזו.יש לי רשימה של קבצי טקסט שהם כבר פתוחים והשמות שלהם הם בסדר מסויים למשל file0.txt file1.txt וכו'..עכשיו אני עשיתי לולה שכל פעם תקרא לי שורה בכל קובץ ותכניס למבנה לפי הסיווג שאני נותן לו ..איך אני בונה את ה פקודה fscanf שיגש לי כל פעם לקובץ הנוכחיאבל הוא מראה לי שגיאה כל פעם ב (i)runnerfscanf(runner[i],"%*[^0-9]%d%*[^A-Za-z]%c%*[^}]%*c%*c%c",&temp_runs->order_id,&temp_runs->status,&ch)
פורסם 2012 בספטמבר 3013 שנים מומלץ שתרשום בכותרת באיזו שפה אתה עובד.חוץ מזה, איך אתה מצפה שנצליח להבין משהו משורת קוד אחת? כתוב את כל הפונקציה לפחות.
פורסם 2012 בספטמבר 3013 שנים מחבר צודק מצטער פעם ראשונה שאני רושם פה.אז הנה חלק הקוד שליאני אסביר קצת .יש לי תוכנית שמקבלת קבצים של שליחים בחברת שליחויות (אני לא אמור לדעת כמה קבצים של שליחים יש לי)לכן בתחילת התוכנית עשיתי לולאה שתפתח את הקבצים תתחיל מ runer0 עד שתיתקע וזה בעצם ה משתנה run_num.הלולאת for הראשונה פה היא בעצם לפתוח מבנים בזה אחר זה כמספר ה שליחים שלי.עכשיו אני צריך לקרוא כל פעם שורה אחת מכל קובץ של כל השליחים (שם יש נתונים אם המשלוח הצליח ומה המספר משלוח)לשים במבנה של השליחים שהוא ניראה כך.typedef struct runs{ int order_id; char status; struct runs* next;} runs;אבל משום מה הנתונים לא נכנסים למקומות הרלוונטיים אחרי ה fscanf. for(i=0;i<run_num;i++)//open struct for runners { if(!(temp_runs=(runs*)malloc(sizeof(runs)))) exit(1); temp_runs->next=NULL; if(!head_runs) head_runs=temp_runs; else{ now_run=head_runs; while(now_run->next) now_run=now_run->next; now_run->next=temp_runs; } } now_run=head_runs; for(i=0;i<run_num;i++) { fscanf(runners[i],"%*[^0-9]%d%*[A-Za-z]%c%*[^}]%*c%*c%c",&run_ord,&now_run->status,&run_ord); }
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.