⑴ c语言 读取目录中的文件名,并将其存入数组中
用system 调用 DOS DIR 命令就可以了:
system ( "dir sss_* /B > log.txt");
这就把 前缀为sss_的文件 文件名 存入 log.txt 文件了。
一个名字一行,没有别的东西。
你再 读出来。
#include <stdio.h>
main()
{
FILE *fp;
char str[30][50]; // 假定文件数不超过30个
int i,n=0;
system("dir sss_* /B > log.txt");
fp=fopen("log.txt","r");
while(1){
if ( fgets(str[n],50,fp)==NULL) break;
str[n][strlen(str[n])-1]='\0'; // 加一个字符串结束符
n++;
}
fclose(fp);
for (i=0;i<n;i++) printf("%s\n",str[i]);
}
⑵ c语言逐行读取文件数据并放入数组中
//刚写的下面的代码,测试通过,如果有疑问,欢迎交流
//只要忽略数回组的第一个元素的就答可以了
//另外需要需要,可以把数组修改为二维数组
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
intmain(){
chartar[10000];
intcur_lib[1000];
char*ch;
FILE*fp=fopen("tar.txt","r");
while(fgets(tar,10000,fp)!=NULL){
ch=strtok(tar,"");
intcur_count=0;
while(ch!=NULL){
cur_lib[cur_count]=atoi(ch);
ch=strtok(NULL,"");
cur_count++;
}
}
fclose(fp);
return0;
}