
31-07-2007, 17:17
|
 |
|
|
חבר מתאריך: 08.10.02
הודעות: 827
|
|
אולי זה יעזור לך, ככה קוראים קובץ לזכרון, משם כבר אתה כבר משתמש במערך buff
קוד:
fd = fopen("1.txt", "rb"); // פתיחת הקובץ לקריאה
if(!fd) { // אם הקובץ לא נפתח
// לא יכול לפתוח את הקובץ, יכול להיות מכמה סיבות
exit(0);
}
fstat(fileno(fd), &xstat); // קורא מידע על קובץ, כמו גודל הקובץ ועוד
int filesize = xstat.st_size; // גודל הקובץ
char *buff = new char[filesize]; /// הקצאת זכרון בגודל הקובץ
fread(buff, filesize, 1, fd); // קריאת כל גודל הקובץ לזכרון הנל
fclose(fd); // סגירת הקובץ
לאחר מכן,
buff יכיל את כל התווים בקובץ כמערך אחד גדול, למשל
יהיה התו הראשון בקובץ אם יש בו בכלל משהו, גודל המערך והקובץ נשמר ב filesize
ככה ש
יהיה התו האחרון, ו
קוד:
for (int i = 0; i < filesize; i++) { // עובר על כל הקובץ בזכרון
printf("%c", buff[i]); // מציג תו תו
}
כידי להשתמש ב fopen ו fstat צריך להכליל את הקבצים הבאים:
קוד:
#include <sys/stat.h>
#include <stdio.h>
_____________________________________
Error: Keyboard not found
Press F1 to continue
|