PDA

View Full Version : آموزش: مثال برای FILE ها در C



arastoo.s
سه شنبه 20 بهمن 1388, 19:58 عصر
سلام من در کار با فابل ها مشکل دارم و نیاز به مثال هالی زیادی در این باره دارم برای همین این پست رو زدم ( که اولین پست من هم هست :لبخندساده:) که هرکی مثالی داره و دوست داره به ما و بقیه دوستان هم یاد بده این جا بزاره تا هم ما یاد بگیریم هم دیگر دوستان
این هم برای شروع کار

//================================================== ===============================
#include <stdio.h>
#include <stdlib.h>

int main(){

FILE *in,*out;
char ch;

in = fopen("/home/arash/A.txt" ,"w");
if (!in) {
printf("\n Can't openning a file .\n");
getchar();
exit(1);
}

printf("\n ENTER >> # << for END . \n");
do {
ch = getchar();
putc(ch,in);
}while (ch != '#');

fclose(in);

out = fopen("/home/arash/Documents/B.txt","w");
if (!out) {
printf("\n Can't openning a file .\n");
getchar();
exit(1);
}

in = fopen("/home/arash/A.txt" ,"r");
if (!in) {
printf("\n Can't openning a file .\n");
getchar();
exit(1);
}


do {
ch =getc(in);
putc(ch,out);
}while (ch != EOF);

fcloseall();
printf("\n file transfered ");
printf("\n\t\t >> Good luck << \t\t\n");

getchar();
return 0;
}
//---------------------------------------
//
// ENTER >> # << for END .
//When day When time WhiteCrow1 comeing back.
//(WhiteCrows1)
//#
//
// file transfered
// >> Good luck <<
//
//---------------------------------------
//================================================== ===============================
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) {
FILE *fp;
char str[80];

if (!(fp = fopen("test.txt" , "w+"))) {
printf("\n Cant't opening the file . \n");
getchar();
exit(1);
}

printf("\n >> Enter strings ( press ENTER button for end ) <<\n");
while (1) {
gets(str);
if (!(str[0]))
break;
strcat(str,"\n");
fputs(str,fp);
}

rewind(fp);

printf("\n The content of file is : \n\n");

fgets(str,79,fp);

while (!feof(fp)) {
printf("%s" ,str);
fgets(str,79,fp);
}

fclose(fp);
getchar();
return 0;
}
//---------------------------------------
//
// >> Enter strings ( press ENTER button for end ) <<
//This is an example for EDU.
//
//
// The content of file is :
//
//This is an example for EDU.
//
//---------------------------------------
//================================================== ===============================

programset
جمعه 23 بهمن 1388, 22:55 عصر
دوست عزيز ممنونم به خاطر اين پست به نظر ميرسه بحث در مورد فايلها موضوع پر اهميتيه اما كمتر بهش پرداخته ميشه يا من كمتر در اين مورد اطلاعات جامع ديدم
يه برنامه با ليستهاي پيوندي نوشتم كه تقريبا كار دفترچه تلفن شبيه سازي ميكنه اما يه مشكل بزرك دارم
هر بار كه برنامه اجرا ميشه اطلاعات داخل فايل پاك ميشه
سوال مهم:
چطور اطلاعاتو در فايل بنويسم و عمليات حذف . اضافه.جستجو و.... در اون فايل انجام بدم
از شما كه تبحر داريد تقاضاي كمك دارم
44009

amin1softco
شنبه 24 بهمن 1388, 13:17 عصر
دوست من شما وقتی از ofstream استفاده می کنی فقط می تونی روی فایل بنویسی برای اینکه هم بنویسی هم بخونی هم به فایل موجود چیزی اضافه کنی از این کد استفاده کن:


fstream filestr; filestr.open ("test.txt", fstream::in | fstream::out | fstream::app);

و بهتر به این لینک یک نگاهی بکنی
http://www.cplusplus.com/reference/iostream/fstream/

__Genius__
یک شنبه 25 بهمن 1388, 14:16 عصر
این هم یک مثال واضح برای کار با فایلها در C


#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{
FILE *in , *out ;
char che ;
clrscr() ;
in = fopen("INPUT.DAT","w") ;
if (!in)
{
printf("\nThe file cannot open !") ;
getch();
return 0 ;
}
printf("\nEnter your characters :") ;
while(che != '$')
{
che = getchar();
putc(che,in) ;
}
in = fopen("INPUT.DAT","r") ;
if (!in)
{
printf("Cannot open out put file !");
getch();
exit(0) ;
}
che = getc(in) ;
while (che != EOF)
{
putc(che,out) ;
che =getc(in) ;
}
printf("\nThe input file transfered to INPUT.DAT successfull !") ;
getch();
return 0 ;
}

دوست محترم arastoo.s اضافه کنم که برنامه شما برای کار روی سیستم عامل لینوکس هست ... ،

lvlina_r
دوشنبه 26 بهمن 1388, 13:59 عصر
این ها به زبان c ، c++ امکانات خیلی راحت تری داره
http://www.cplusplus.com/reference/iostream/fstream/


fstream fin ("in.txt", fstream::in );
fin >> n;
fstream fout ("in.txt", fstream::out );
fout<< n;

arastoo.s
سه شنبه 27 بهمن 1388, 15:47 عصر
سلام
اول از همه دوستان عذر می خوام چون من چند وقتی بود که در گیری داشتم و نمی توانستم به این پستم سر بزنم
دوست عزیز __Genius__ (http://barnamenevis.org/forum/member.php?u=59280) شما درست فرمودید من از سیستم عامل لینوکس (Debian) استفاده می کنم
دوم این که از همه دوستان تشکر میکنم که کمک میکنن فایل ها رو در C بهتر درک کنیم
سوم کسی میتونه توضیح مختصری در باره فایل های تصادفی بگه و کار با اون ها مخصوصا کار با fseek()



...........
یا علی