有个问题请教一下
程序代码:
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <math.h> 5 #include <malloc.h> 6 7 #define MAX_LINE_SIZE 511 8 void location1(char *fin, int *len); 9 10 int main() 11 { 12 FILE *fpbatch = NULL; 13 fpbatch = fopen("syn_data2000.txt", "r"); 14 int i, j, k, length; 15 char *filename ; 16 filename = (char*)calloc(512, sizeof(char)); 17 18 while(fgets(filename, MAX_LINE_SIZE, fpbatch) != NULL) 19 { 20 length = strlen(filename); 21 fprintf(stdout, "%d\t%s",length, filename); 22 location1(filename, &length); 23 } 25 } 26 27 void location1(char *fin, int *len) 28 { 29 FILE *fp; 30 fp = fopen(fin, "r"); 31 32 if(fp == NULL) 33 { 34 fprintf(stdout, "ierr\n"); 35 exit(1); 36 } 37 fclose(fp); 38 } 主要的目的是从一个文本文件中读入字符串,并且大概以这个字符串为名的另一个文件。 location1函数中的文件指针一直是空的,对应的文件和程序放在一个文件夹里的