פורסם 2005 באפריל 2120 שנים שלוםברצוני ליצור קובץ חדש, להכניס עליו מחרוזת ואז לקרוא את המחרזות ממקום אחראני עשיתי ככה:1. כתיבה לקובץ: fp=open("c:\\tc\\bin\\FPM\\DATA\\info.dat","wb"); if(fp==NULL) { printf("Error openning file\n"); }.. fwrite(&name,sizeof(char),1,fp); fclose(fp);[/code]name זאת מחרוזת אשר מקבלת שם משתמש2. קריאה מהקובץ:fp=open("c:\\tc\\bin\\FPM\\DATA\\info.dat","rb"); if(fp==NULL) { printf("Error openning file\n"); } fread(name,sizeof(char),1,fp); outtextxy(510,70,name); fclose(fp);אין לי מושג למה זה לא עובד ליכל פעם שאני מגיע לדף הכתיבה לקובץ התוכנית יוצאת לימישהו יודע אולי מה הבעיה?
פורסם 2005 באפריל 2120 שנים אוקי, דבר ראשון זה fp==-1 ולא NULL.תשנה את זה ותראה אם הקובץ נפתח. אחרי זה, תשתמש במקום ב open ב fopen, וה mode צריך להיות +w ו fp צריך להיות מסוג FILE*, כאן אתה מקבל NULL אם לא צלחה הפתיחה, נראה לי שלזה התכוונת.הא,,, אתה צריך לעשות include <stdio.h>מטי.
פורסם 2005 באפריל 2120 שנים אני חושב שרצית לעשות משהו כזה:לכתיבה#include <stdio.h>#include <stdlib.h>#include <string.h>int main() {FILE* out;int length;char name[255];printf("Enter Name:");scanf("%s",name);length=strlen(name);out=fopen("c:\\tc\\bin\\FPM\\DATA\\info.dat","wb");if(out==NULL) exit(1);if( fwrite(&length,sizeof(int),1,out)!=1 ) exit(1);if( fwrite(name,sizeof(char),length,out)!=length ) exit(1);fclose(out);printf("Done\n");system("PAUSE");return 0;}ולקריאה:#include <stdio.h>#include <stdlib.h>#include <string.h>int main() {FILE* in;int length;char name[255];in=fopen("c:\\tc\\bin\\FPM\\DATA\\info.dat","rb");if(in==NULL) exit(1);if(fread(&length,sizeof(int),1,in)!=1) exit(1);if(fread(name,sizeof(char),length,in)!=length) exit(1);printf("%s\n",name);system("PAUSE");return 0;}
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.