PDA

View Full Version : مشکل با تابع fputc



alireza976
دوشنبه 10 آبان 1389, 13:14 عصر
سلام
این برنامه رو یکبار گذاشتم ولی نمیدونم چرا پاکش کردید

میخوام یه لغتی رو بگردم تو یه فایل که فرمت نوشته ها اینجوریه مثلا: ali=500 خط بعد reza=789 و ... پیدا کنم بعد مقداره روبروشو تغییر بدم
حالا تو پیدا کردنش مشکلی ندارم ، ولی نمیتونم با fputc مقداره جدیدو بهش اضافه کنم
ممنون میشم اگه راهنمایی کنید .
اینم سورسش:

#include"stdio.h"
#include"string.h"
#include"stdlib.h"
char getin[30]; //loghate vorudi
char aa[30]; //loghat bedune $
char ch[30],h;
char getval[20]; //meghdare jaygozin
void main(void)
{
FILE *in;
int cunt=0;
int count=0;
int i,j,n,z=0,p=0;
int yy=0;
if((in=fopen("c:\\file" ,"r+(r+t)"))== NULL)
{
printf("Cannot open file.\n ");
exit(1);
} //end of if
printf("Enter a word:\n ");
scanf("%c", &getin[cunt]);
while(getin[cunt] != '\n')
{
cunt++;
scanf("%c", &getin[cunt]);
}//end of while
while(getin[p] != '\n')
{
aa[p]=getin[p];
p++;
}//end of while
ch[count]=getc(in);
while(!feof(in) && ch[count] != '=')
{
count++;
h=getc(in);
if(h != '=')
ch[count] = h;
if(h == '\n')
{
count=-1;
memset(ch, 0, 30);
}//end of if
if(strcmp(ch,aa) == 0)
break;
}//end of while
if(strcmp(ch,aa) == 0)
printf("\nWord exist in a file.\n");
else
printf("\nWord not exist.\n");
printf("Enter new value: \n");
scanf("%c",&getval[yy]);
yy++;
while(getval[yy] != '\n')
{
scanf("%c",&getval[yy]);
fputc(getval[yy],in);
yy++;
} //end of while
fclose(in);
}

alireza976
دوشنبه 10 آبان 1389, 17:23 عصر
برای گرفتن ورودی از gets استفاده کردم خیلی برنامه کوتاه تر شد
ولی هنوز اون مشکل قبلیو دارم

فایل جدید:

alireza976
سه شنبه 11 آبان 1389, 18:26 عصر
لااقل یکی بیاد بگه من چطوری میتونم وسط یه فایل بنویسم؟
هرکاریش میکنم نمیشه . یا فایلو پاک میکنه یکی جدید میسازه ، یا آخرش اضافه میکنه :عصبانی++:
باید پوینتر بزارم براش؟