PDA

View Full Version : پاس دادن یک فایل به تابع



farhadsafiri
چهارشنبه 01 خرداد 1387, 15:06 عصر
من یک برنامه نوشتم اما وقتی میخوام با استفاده از تایع یک فایل را به آن پاس بدم.

هنگ میکنه.

چی کارکنم.

اینم برنامه ام.

چطوری باید یک فایل را به تابع پاس داد.


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
int map(FILE *map_file);
int main()
{
FILE *in;
char *data=0;
in=fopen("c:/farhad.txt","r"); // shart null bodan azafe shavad zira dar ghesmat marhale be marhale gir dad.
if(fopen("c:/farhad.txt","r")== NULL)
exit(0);
map(in);
return 0;
}
int map(FILE *map_file)
{
char *map_data;
int lenght , number,i=0,j=0;
char character[1];
int *snack_data;
int counter_snack;
snack_data=(int *) malloc(10 * sizeof(int));
fgets(character,2,map_file); // bayad dide shavad ke arghoman dovom niaz ast ya na.
counter_snack = character[0] - 48;
map_data=(char *) malloc(5 * sizeof(char));
while(counter_snack>0)
{
fgets(map_data,10,map_file);
lenght=strlen(map_data)-1;
if(lenght==4){
number =( map_data[i] - 48 )*10 + (map_data[i+1]-48);
snack_data[j] = number;
i=i+3;
j=j+1;
number =( map_data[i]-48 );
snack_data[j]=number;
j=j+1;
}
if(lenght==5){
number =( map_data[i] - 48 )*10 + (map_data[i+1]-48);
snack_data[j] = number;
i=i+3;
j=j+1;
number =( map_data[i]-48 )* 10 + ( map_data[i+1]-48 );
snack_data[j]=number;
j=j+1;
}
}
return *snack_data;
}

farhadsafiri
چهارشنبه 01 خرداد 1387, 22:37 عصر
یعنی هیچ کس بلد نیست.