PDA

View Full Version : باز کردن یک فایل (ساده)



msafvati
پنج شنبه 06 دی 1386, 13:14 عصر
سلام خدمت دوستان
یک سوالی در مورد کار با فایل ها داشتم . من تا حالا موفق به باز کردن یک فایل نشدم می خواستم اگه ممکنه دوستان راهنمایی کنند تا محتویات یک فایل txt رو بررسی کنم. کدی هم که استفاده می کنم به صورت زیر هست

#include <stdio.h>
#include <conio.h>
main ()
{
FILE *fp;
fp=fopen("F:\\ali.txt","r");
fclose(fp);
}

این ساده ترین حالت ممکن برای باز کردن یک فایل هستش . برای null بودن رشته هم مقایسه انجام دادم اما تا حالا به نتیجه نرسیدم اگه ممکنه راهنمایی کنید
تشکر

amir_cpp
جمعه 07 دی 1386, 14:06 عصر
شما می تونین از stream هم استفاده کنین، که بهتره!


#include<fstream.h>
#include<iostream.h>
main()
{
ifstream ins;
ins.open("Filename");
char *str;
ins >> str;
cout << str;
ins.close();
}

msafvati
جمعه 07 دی 1386, 16:21 عصر
با تشکر از شما
اما من با c برنامه رو میخواهم نه با c++ میشه راهنمایی کنید یا ساده یک کد رو برام بذارین

amir_cpp
جمعه 07 دی 1386, 19:02 عصر
یعنی این کد تو C اجرا نشد؟

emad_67
جمعه 07 دی 1386, 20:21 عصر
یعنی این کد تو C اجرا نشد؟
این کد یه مقدار توی این خط مشکل داره:


char *str;
ins >> str;
cout << str;
شما باید قبل از cin کردن str اونو تخصیص حافظه کنی. به این شکل:


char *str;
str=new char[10];
cin >> str;
cout << str;

msafvati
شنبه 08 دی 1386, 10:31 صبح
با سپاس از لطف شما عزیزان و تبریک عید
منظور من استفاده از خود توابع زبان سی بود نه C++
اگه امکان داره بندرو تو زبان C راهنمایی کنید با استفاده از همان FOPEN

msafvati
شنبه 08 دی 1386, 11:03 صبح
دوستان این هم هست پیغام باز کردن فایل رو میده اما من محتوای فایل رو نمیبینم


#include <stdio.h>
#include <conio.h>
main ()
{
FILE *fp;
fp=fopen("F:\\ali.txt","r");
if (fp==NULL)
{
printf("Cannot open the file");
return 1;
}
else {
printf("File Open.now closing it..\n");
fclose(fp);
return 0;
}
}

farhadsafiri
شنبه 08 دی 1386, 11:58 صبح
سلام

این کد را امتحان کن.


#include <stdio.h>
#include <conio.h>
#include <string.h>
int main()
{
FILE *in;
char *s;
s=(char *) malloc(sizeof(int *));
in=fopen("f:\\in.txt","r");
if(in=fopen("f:\\in.txt","r")==NULL)
{
printf("can not open file");
}
else
{
while()
fgets(s,1000,in);
printf("\n%s",s);
}
fcloseall();
getch():
return 0;
}


توی while باید شرط اینکه که به انتهای فایل رسیده است یا نه را بزاری.

این کد خطهای فایل را میخواند وبه صورت هرخط برات چاپ میکند.