PDA

View Full Version : سوال: search in file



silver2000
چهارشنبه 09 تیر 1389, 22:09 عصر
سلام به همه دوستان
میشه لطفا راهنمایی کنید جطوری توی فایل searchکنیم مثلا میخوام ببینم یه رشته مثل نام توی فایل هست یا نه

tdkhakpur
چهارشنبه 09 تیر 1389, 23:39 عصر
قبلا کدهای زیادی برای این مورد ارسال شده کلمه جستجوی رشته را داخل تالار بگردید.

silver2000
جمعه 11 تیر 1389, 19:42 عصر
قبلا کدهای زیادی برای این مورد ارسال شده کلمه جستجوی رشته را داخل تالار بگردید.
اگر امکان داره بیشتر توضیح بدید من اونها رو نفهمیدم
1 سوال دیگه من یه تابع inputfileدارم که از کاربر ورودی میگیره و اونها رو وارد فایل میکنه بعد از اجرای یک بار برنامه داده ها در فایل ذخیره میشن حالا اگر بخواهیم یک بار دیگه برنامه رو اجرا کنیم ولی با همون اطلاعات ذخیره شده قبلی کار کنیم و inputfileدیگه اجرا نشه باید چی کار کنم

mohsensaghafi
جمعه 11 تیر 1389, 22:46 عصر
اگر امکان داره بیشتر توضیح بدید من اونها رو نفهمیدم
1 سوال دیگه من یه تابع inputfileدارم که از کاربر ورودی میگیره و اونها رو وارد فایل میکنه بعد از اجرای یک بار برنامه داده ها در فایل ذخیره میشن حالا اگر بخواهیم یک بار دیگه برنامه رو اجرا کنیم ولی با همون اطلاعات ذخیره شده قبلی کار کنیم و inputfileدیگه اجرا نشه باید چی کار کنم

سلام دوست عزیز.
با یه دستور شرط چک کن اگه فایلت خالی هست اون دستور رو اجرا کنه.

silver2000
شنبه 12 تیر 1389, 13:06 عصر
سلام دوست عزیز.
با یه دستور شرط چک کن اگه فایلت خالی هست اون دستور رو اجرا کنه.
خوب بله اما من چون اساسا با فایل مشکل دارم نمیدونم چه دستوری رو باید اجرا کنم اگر میشه کدش رو بهم بدید ممنون میشم

mohsensaghafi
شنبه 12 تیر 1389, 17:28 عصر
خوب بله اما من چون اساسا با فایل مشکل دارم نمیدونم چه دستوری رو باید اجرا کنم اگر میشه کدش رو بهم بدید ممنون میشم

سلام دوست عزیز.
می تونی از این کد استفاده کنی

ifp = fopen("in.list", mode);

if (ifp == NULL) {
fprintf(stderr, "Can't open input file in.list!\n");
exit(1);
}

البته بجای شرط خروج باید کار هایی رو که خودت می خوای انجام بدی رو بنویسی.
یا اینکه یه کاراکتر ازش بخونی و اگر EOF بود یعنی فایل خالی هست.
به اینجا مراجعه کن.
http://en.wikipedia.org/wiki/C_file_input/output
این هم نمونه خوبیه.

#include <stdio.h>

int main()
{
FILE * pFile;
char buffer [100];

pFile = fopen ("myfile.txt" , "r");
if (pFile == NULL) perror ("Error opening file");
else
{
while ( ! feof (pFile) )
{
fgets (buffer , 100 , pFile);
fputs (buffer , stdout);
}
fclose (pFile);
}
return 0;
}

silver2000
شنبه 12 تیر 1389, 18:16 عصر
یه سوال دیگه ام درباره فایل دارم من یک فایل دارم شامل رکوردهای اطلاعات( شماره درس .نام درس و واحد ). یک فایل دیگر شامل رکوردهای اطلاعات دانشجویان (شماره دانشجویی نام و نام خانوادگی )فایل استاد شامل اطلاعات اساتید(شماره استاد نام استاد و تخصص)حالا یه فایل هم دارم برای ارتباط سه فایل شامل شماره دانشجویی شماره استاد شماره درس نمره ترم و شماره گروه میباشد.من چطور باید فایل ارتباط سه فایل دیگر رو بنویسم آیا باید مثلا شماره دانشجویی رکورد دانشجو رو با شماره دانشجویی رکورد ارتباط برابر قرار بدم.منظور از شماره گروه چیه؟

tdkhakpur
یک شنبه 13 تیر 1389, 13:15 عصر
حالا یه فایل هم دارم برای ارتباط سه فایل شامل شماره دانشجویی شماره استاد شماره درس نمره ترم و شماره گروه میباشد.من چطور باید فایل ارتباط سه فایل دیگر رو بنویسم آیا باید مثلا شماره دانشجویی رکورد دانشجو رو با شماره دانشجویی رکورد ارتباط برابر قرار بدم.منظور از شماره گروه چیه؟
شما فایل مربوط به رکود دانشجویان را در نظر بگیرید برای دسترسی به اطلاعات دانشجو نیاز به کد دانشجو دارید تا بتوانید با استفاده از این کلید (کد دانشجو) به داده های دانشجوی مورد نظر دسترسی پیدا کنید .
برای سایر فایلها هم باید به این شکل انجام بدید.
ولی اگر میخواهید یک فایل گروه هم داشته باشید باید یک ساختار بسازید که فیلدهایش حاوی کلیدهای فایلهای فوق باشد مثل کد دانشجو و کد استاد و .. که این ساختار هم برای خودش یک کلید اصلی که همان کلید گروه را مشخص میکند دارد که شما میتوانید از طریق این کلید به گروه دسترسی و با استخراج دادههای مربوطه از فایل گروه به اطلاعات سایر فایلها هم دسترسی داشته باشید یعنی کلیدهای فایلهای دیگر را در دست خواهید داشت و میتوانید با یک جستجوی ساده به داده ها دسترسی پیدا کنید.