PDA

View Full Version : سوال: حذف و یا ویرایش اطلاعات در فایل تکست (Text) به زبان C



smart_twists
سه شنبه 13 دی 1390, 10:42 صبح
با سلام به همه دوستان برنامه نویس
من میخوام به زبان C در یک فایل متنی (text) تغییرات بدم. در اصل اطلاعات به صورت فایل پایل ذخیره میشن که واسه تغییر در اطلاعات مشکل دارم ممنون میشم بتونید راهنمایی کنید.

shahmohammadi
سه شنبه 13 دی 1390, 12:14 عصر
سلام.
نمی دونم مشکلتون در کجاش هست. در باز کردن یا کار باهاش.
خوب من یه مثال از کار با فایل رو می زنم:
/* برنامه ای که فایلی رو گرفته و اون رو در یه فایل دیگه کپی می کنه */

#include <stdio.h>

int main(void)
{
FILE *in, *out;

if ((in = fopen("input.txt", "rt"))
== NULL)
{
fprintf(stderr, "Cannot open input file.\n");
return 1;
}

if ((out = fopen("output.txt", "wt"))
== NULL)
{
fprintf(stderr, "Cannot open output file.\n");
return 1;
}

while (!feof(in))
putc(getc(in), out);

fclose(in);
fclose(out);
return 0;
}
باز کردن فایل که با fopen هست.
چاپ یه رشته با fprintf هست.(fscanf هم برای گرفتن رشته هست).
هر بار که از فایل یه چیزی می گیریم یا یه چیزی توش می نویسیم، به بایت بعدی می ریم. تابع feof() برای تست کردن این هست که آیا فایل به انتها رسیده یا نه.
تابع putc و getc هم برای چاپ و گرفتن بایت از فایل به کار می رند.
و در آخر هم می آییم فایل رو می بندیم.(با fclose).