hosseinam1370
چهارشنبه 20 اسفند 1393, 09:51 صبح
دوستان تابع fflush میآد هرچی اطلاعات رو که در داخل buffer هست رو به جایی که باید برن ، هدایت و مینویسد و حافظه رو پاک میکنه.
خوب حالا تو این کد من در فایل textt اومدم در اول hossein رو نوشتم و بعد دوباره در حالت read و write بازش کردم و test رو توش نوشتم و توسط fflush حافظه رو خالی کردم و test رو ثبت کردم در فایل.
خوب حالا که میخام اطلاعات pfile رو بریزم داخل mybuffer ، فقط ein نوشته میشه و نمیفهمم چرا کاراکترهای text نوشته نمیشه و توسط دستور puts نشون داده نمیشه.
ممنون میشم بگید که چرا این اتفاقب میافته !!! و چیو در مورد جریان بافر باید بدونم، یا چه کتابی که بتونم با اینجور چیزها آشنا بشم.
اینم کد :
#include "stdafx.h"
#include <fstream>
#include<iostream>
#include <string>
#include<stdio.h>
using namespace std;
void main()
{
char mybuffer[80];
FILE * pFile;
fopen_s (&pFile , "textt.txt","w");
fputs ("hossein",pFile);
_fcloseall();
fopen_s (&pFile , "textt.txt","r+");
if (pFile == NULL) perror ("Error opening file");
else
{
fputs ("test",pFile);
fflush (pFile); // flushing or repositioning required
fgets (mybuffer,80,pFile);
puts (mybuffer);
fclose (pFile);
}
system("pause");
}
با تشکر.
خوب حالا تو این کد من در فایل textt اومدم در اول hossein رو نوشتم و بعد دوباره در حالت read و write بازش کردم و test رو توش نوشتم و توسط fflush حافظه رو خالی کردم و test رو ثبت کردم در فایل.
خوب حالا که میخام اطلاعات pfile رو بریزم داخل mybuffer ، فقط ein نوشته میشه و نمیفهمم چرا کاراکترهای text نوشته نمیشه و توسط دستور puts نشون داده نمیشه.
ممنون میشم بگید که چرا این اتفاقب میافته !!! و چیو در مورد جریان بافر باید بدونم، یا چه کتابی که بتونم با اینجور چیزها آشنا بشم.
اینم کد :
#include "stdafx.h"
#include <fstream>
#include<iostream>
#include <string>
#include<stdio.h>
using namespace std;
void main()
{
char mybuffer[80];
FILE * pFile;
fopen_s (&pFile , "textt.txt","w");
fputs ("hossein",pFile);
_fcloseall();
fopen_s (&pFile , "textt.txt","r+");
if (pFile == NULL) perror ("Error opening file");
else
{
fputs ("test",pFile);
fflush (pFile); // flushing or repositioning required
fgets (mybuffer,80,pFile);
puts (mybuffer);
fclose (pFile);
}
system("pause");
}
با تشکر.