嘿,我是编程新手.. 我有一个代码,其中我读取目录中的文件.. 我能够单独读取它们,但我需要提供目录或文件夹名称,并且能够读取提到的目录或文件夹中的所有文件. 请帮我解决这个问题
int main(int argc, char **argv)
{
char rid[15];
char buffer[100];
char a[100];
char b[100];
DIR *h;
struct dirent *dir;
h = opendir(".");
if (h)
{
while ((dir = readdir(h)) != NULL)
{
FILE *file = fopen (dir->d_name , "r" );
printf("%s\n", dir->d_name);
}
closedir(h);
}
char c[100];
char d[100];
char temp[250]="";
char *token;
int comchk = 0;
int lino ;.
char ch[20],
ch1[20];
char value[250],
value1[250],
value2[250],
value3[250];
char query[250]="";
int i;
static const char filename[10];
MYSQL *con = mysql_init(NULL);
if (con == NULL)
{
fprintf(stderr, "%s\n", mysql_error(con));
exit(1);
}
if (mysql_real_connect(con, "localhost", "madhu", "cmmacsgps", "rinex", 0, 0) == NULL)
{
finish_with_error(con);
}
if (mysql_query(con, "INSERT INTO rinex1 VALUES('','no','no','no','no','no','no','no','no','no','no','no','no')"))
{
finish_with_error(con);
}
int nrid = mysql_insert_id(con);
sprintf(rid, "%d", nrid);
printf("enter filename\n");
scanf("%s",filename);
FILE *file = fopen ( filename, "r" );
if ( file != NULL )
{
char line [250]; /* or other suitable maximum line size */
char line1 [250];
char *token1;
char *token2;
int tabno=0;
while ( fgets ( line, sizeof line, file ) != NULL ) /* read a line */
{
lino =lino+1;
strcpy(line1,line);
substring(60, 80, line1, a, sizeof a);
substring(0, 60, line1, b, sizeof b);
strcpy(c,a);
}
fclose ( file );
}
mysql_close(con);
exit(0);
}`
`