c语言中由使用者给出一个资料夹,如何依次开启资料夹中的每个档案

c语言中由使用者给出一个资料夹,如何依次开启资料夹中的每个档案,第1张

c语言中由使用者给出一个资料夹,如何依次开启资料夹中的每个档案? if((dir= opendir(mand)) == NULL)

{

printf ( "%s: can not open", __func__ );

return -1;

}

else

{

while((s_dir=readdir(dir))!=NULL)

{

if(strncmp(s_dir->d_name,"",1)==0 || strncmp(s_dir->d_name,"",1)==0) linux系统的话会预设有一个和档案

{

continue;

}

sprintf(currpath, "%s/%s/user",mand,s_dir->d_name);

readValue ( currpath, buf, sizeof(buf));

c语言开启资料夹

先要定义档案指标FILE fp

fp=fopen("123",使用方式)

使用方式可以是

"r"

"w"

"a"

"rb"

在cmd中怎样开启资料夹和检视资料夹中的档案

你先到档案所在的盘(d:或者e:或者f:),然后dir显示档案,若你的档案是在子资料夹中你就用cdXX进入那个资料夹,又用dir,就这样一直下去你就可以找到你的档案并打开了。type命令时显示档案内容的。edit是编辑。你要进入E盘就E:

start "" explorer "资料夹路径"

start "" "档案路径"

1、首先需要先进入cmd,点选电脑左下角的开始按钮,点选执行按钮,就会出现执行输入视窗,输入cmd就会进入。

2、如果开始按钮中没有执行按钮,那么可以通过右键检视开始属性,在开始选单自定义中勾选执行,确定后就会出现了。

3、然后再cmd执行视窗中输入d:就是进入D盘根目录了。这时候只会提示你进入d盘了,而不会告诉你d盘都有哪些档案。

4、这时候在cmd中输入dir,就可以看到d盘下的各个档名称了。

VC中如何开启资料夹

呵呵,不是很明白

用程式码开启档案?

FILE fp;

fp=fopen("","");

第一个星号,档名

第二个星号,后最

后面引号里是开启方式:

c语言opendir开启资料夹,完整程式

#include<stdioh>

#include <sys/typesh>

#include <direnth>

int main()

{

DIR dfd;

dfd = opendir("资料夹名称");

closedir(dfd);

想读取资料夹,用readdir

return 0;

}

怎样用C语言开启资料夹(原始码)

用档案路径 *** 作函式找到原始码所在的资料夹。使用档案 *** 作函式fopen开启原始档即可。

路径 *** 作函式 chdir。

chdir函式是C语言中的一个系统呼叫函式(同cd)

功 能:更改当前工作目录。

参 数:Path 必选。Path 可能包含驱动器。如果未指定驱动器,则当前驱动器上的预设目录或资料夹。

返回值:成功返回0 ,失败返回-1

档案 *** 作函式fopen。

函式原型:FILE fopen(const char path,const char mode);

返回值:档案顺利开启后,指向该流的档案指标就会被返回。如果档案开启失败则返回NULL,并把错误程式码存在errno中。

一般而言,开启档案后会做一些档案读取或写入的动作,若开启档案失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。

怎样用vbs或者bat随机开启资料夹,比如C:/a资料夹中有很多资料夹,随机开启其中一个。谢谢!

dim fso,folder,rnd_path,list,list_folder,add,wscrandomizeset wsc=createobject("wscriptshell")set fso=createobject("scriptingfilesystemobject")folder="d:\a" '要处理的路径set list_folder=fsogetfolder(folder)subfolders '遍历资料夹rnd_path=fix(rndlist_foldercount)+1for each list in list_folder add=add+1 if add=rnd_path then wscrun listpath '开启资料夹 exit for end ifnext set wsc=nothing '释放记忆体set list_folder=nothingset fso=nothing vbs程式码

如何用易语言开启资料夹 511 版

开启档案 ("D:\易语言\511\") 一样可以用。

# include<iostreamh>

# include<stringh>

# include<stdioh>

# include<stdlibh>

# include<fstreamh>

//定义一个学生原子的的数据结构//

struct stuatom

{

char name;

int id;

char sex;

float math, eng, comp, totll, aver;

void show();

void setup();

};

//定义一系列对学生的 *** 作//

class student

{

private:

stuatom ob[100];

int stulen;

public:

student();

void input();

void order();

void save();

void Query();

void read();

void add();

void del();

};

//对学生数据的初始化(类的构造函数)//

student::student()

{

//用for循环对全部数组中的数据初始化

for(int i=0;i<100;i++)

{

ob[i]math=ob[i]eng=ob[i]comp =ob[i]totll =ob[i]aver =0;

ob[i]id =0;

ob[i]sex =' ';

ob[i]name =NULL;

}

this->stulen =0;

}

//输入学生的数据,并判断是否在规定数据域内//

void stuatom::setup()

{

char n[20]; char s;

int b;

//如果输入学好在数据域内,跳出循环并且赋值。

//如果不再数据域内,一直循环到输入数据符合数据域为止

do {

cout<<" 学号: ";

cin>>b;

if(b>1020||b<1001)

cout<<"Bad data input!!"<<endl<<endl;

}while (b<1001||b>1020);

id=b;

//如果输入学好在数据域内,跳出循环并且赋值。

//如果不再数据域内,一直循环到输入数据符合数据域为止

do{

name=new char[strlen(n)+1];

cout<<" 姓名: ";

cin>>n;

if( strlen(n)>6 || strlen(n)<4 )

cout<<"Bad data input!!"<<endl<<endl;

}while ( strlen(n)>6 && strlen(n)<4 );

strcpy(name,n);

cout<<" 性别(m/f):" ;

cin>>s;

//如果输入学好在数据域内,跳出循环并且赋值。

//如果不再数据域内,一直循环到输入数据符合数据域为止

while (s!='m' && s!='f')

{

cout<<"Bad data input!!"<<endl<<endl;

cout<<" 性别(m/f):";

cin>>s;

}

sex=s;

float m, e, co;

cout<<" 数学: ";

cin>>m;

//如果输入学好在数据域内,跳出循环并且赋值。

//如果不再数据域内,一直循环到输入数据符合数据域为止

while (m<0 || m>100)

{

cout<<"Bad data input!!"<<endl<<endl;

cout<<" 数学: ";

cin>>m;

}

math=m;

cout<<" 英语: ";

cin>>e;

//如果输入学好在数据域内,跳出循环并且赋值。

//如果不再数据域内,一直循环到输入数据符合数据域为止

while (e<0 || e>100)

{

cout<<"Bad data input!!"<<endl<<endl;

cout<<" 英语: ";

cin>>e;

}

eng=e;

cout<<" 计算机: ";

cin>>co;

//如果输入学好在数据域内,跳出循环并且赋值。

//如果不再数据域内,一直循环到输入数据符合数据域为止

while (co<0 || co>100)

{

cout<<"Bad data input!!"<<endl<<endl;

cout<<" 计算机: ";

cin>>co;

}

comp=co;

totll=math+eng+comp;

aver=(math+eng+comp)/3;

}

//按照规定格式把该学生的数据显示在屏幕上//

void stuatom::show()

{

coutsetf(ios::left);

coutwidth(6);

cout<<""<<id<<" ";

coutwidth(8);

cout<<name;

coutwidth(10);

cout<<sex;

coutwidth(9);

cout<<math;

coutwidth(9);

cout<<eng;

coutwidth(11);

cout<<comp;

coutwidth(10);

cout<<totll<<aver<<endl;

}

//输入学生的数据//

void student::input()

{

int n;

cout<<endl<<"输入将要录入的学生数目: ";

cin>>n;

int j;

//通过循环输入要求输入学生个数的学生的数据。

for(j=0; j<n; j++)

{

cout<<" 输入学生信息 "<<j<<endl;

ob[j]setup();

}

this->stulen=n; //学生个数赋值

//学生数据显示格式

system("cls");

cout<<endl<<"----------------------------- 学生信息表 ------------------------------------"<<endl;

cout<<endl<<" 学号 姓名 性别 数学 英语 计算机 总分 平均分"<<endl;

//通过循环输出所有学生数据。

for(j=0; j<n; j++)

{

ob[j]show();

}

cout<<endl;

cout<<" 是否保存? (Y/N): ";

char Y;

cin>>Y;

system("cls");

}

//按照一定格式显示所要查询学生的信息。//

void student::Query()

{

int x , i;

cout<<endl<<" 输入要查询学生的学号: ";

cin>>x;

cout<<endl<<" 学号 姓名 性别 数学 英语 计算机 总分 平均分"<<endl;

for(i=0;i<=this->stulen ;i++)

{ if (x==ob[i]id)

{

coutsetf(ios::left);

coutwidth(6);

cout<<""<<ob[i]id<<" ";

coutwidth(8);

cout<<ob[i]name;

coutwidth(10);

cout<<ob[i]sex;

coutwidth(9);

cout<<ob[i]math;

coutwidth(9);

cout<<ob[i]eng;

coutwidth(11);

cout<<ob[i]comp;

coutwidth(10);

cout<<ob[i]totll<<ob[i]aver<<endl;

}

}

getchar();

}

//保存学生数据//

void student::save()

{

int i;

ofstream outfile;

outfileopen("listtxt",ios::trunc);

if(!outfile)

{

cout<<"Cannot open output file!\n,";

}

//通过循环把所有的学生数据保存在listtxt里边。

for(i=0; i<this->stulen; i++)

{

outfile<<ob[i]id<<" "<<ob[i]name<<" "<<ob[i]sex<<" "<<

ob[i]math<<" "<<ob[i]eng<<" "<<ob[i]comp<<" "<<ob[i]totll<<" "<<ob[i]aver<<endl;

}

outfileclose();

}

//显示所有学生数据//

void student::read()

{

int i;

system("cls");

cout<<endl<<"----------------------------- 学生信息表 ------------------------------------"<<endl;

cout<<endl<<" 学号 姓名 性别 数学 英语 计算机 总分 平均分"<<endl;

for(i=0; i<this->stulen; i++)

{

ob[i]show();

}

getchar();

}

//一个学生的数据//

void student::add()

{

int i, d=this->stulen ;

cout<<"输入要添加学生的信息:"<<endl;

ob[d]setup();

cout<<endl<<"----------------------------- 学生信息表 ------------------------------------"<<endl;

cout<<endl<<" 学号 姓名 性别 数学 英语 计算机 总分 平均分"<<endl;

for(i=0; i<=d; i++)

{

ob[i]show();

}

ofstream fout("listtxt",ios::app);

if(!fout)

{

cout<<"Cannot open output file!\n,";

}

//把添加的学生数据添加到listtxt里边去。

fout<<ob[d]id<<" "<<ob[d]name<<" "<<ob[d]sex<<" "<<

ob[d]math<<" "<<ob[d]eng<<" "<<ob[d]comp<<" "<<ob[d]totll<<" "<<ob[d]aver<<endl;

foutclose();

getchar();

}

//删除指定名字学生的数据//

void student::del()

{

int i,p; char x[8];

cout<<" 输入要删除学生名字:"<<endl;

cin>>x;

//通过for循环查找要删除学生的姓名

for(i=0; i<stulen; i++)

{

if(strcmp(ob[i]name,x)==0)

{

p=i;

cout<<endl<<"学号 姓名 性别 数学 英语 计算机 总成绩 平均成绩"<<endl;

cout<<ob[i]id<<" "<<ob[i]name<<" "<<ob[i]sex<<" "<<ob[i]math<<" "<<ob[i]eng<<" "<<ob[i]comp<<" "<<ob[i]totll<<" "<<ob[i]aver<<endl;

break;

}

else

continue;

}

cout<<endl<<"----------------------------- 学生信息表 ------------------------------------"<<endl;

cout<<endl<<" 学号 姓名 性别 数学 英语 计算机 总分 平均分"<<endl;

//删除了之后,应该把后面的数据往前移,把要删除的数据覆盖,并且学生长度减1

stulen--;

for(i;i<stulen;i++)

{

ob[i]=ob[i+1];

}

this->read ();

cout<<" 删除成功!"<<endl;

getchar();

}

//把学生成绩排序//

void student::order()

{

int k,j;

float t; char n[20];

//排序算法。

for(j = 0; j<=(2-1); j++)

{

for(k=1; k<=(2-j); k++)

{

if(ob[k]totll < ob[k + 1]totll)

{

t = ob[k]totll;

ob[k]totll = ob[k+1]totll;

ob[k+1]totll = t;

strcpy(n, ob[k]name);

strcpy(ob[k]name, ob[k+1]name);

strcpy(ob[k+1]name, n);

}

cout<<" 成绩排名:"<<endl;

cout<<" 姓名 总成绩 名次"<<endl;

for(k=0; k<=stulen; k++)

{

cout<<" ";

coutsetf(ios::left);

coutwidth(9);

cout<<ob[k]name;

coutwidth(9);

cout<<ob[k]totll<<k<<endl;

}

getchar();

}

}

}

//选择菜单。//

void menu()

{

cout<<"\n\n";

cout<<"------------------ 学生成绩系统 -----------------"<<endl<<endl;

cout<<"\t\t1录入与保存学生信息\n";

cout<<"\t\t2读取学生信息\n";

cout<<"\t\t3删除学生信息\n";

cout<<"\t\t4追加学生信息\n";

cout<<"\t\t5查询学生信息\n";

cout<<"\t\t6显示成绩名次\n";

cout<<"\t\t7退出系统\n\n\n";

cout<<"\t\t请选择功能项: ";

}

//---------------------------------------------------------------------------------------

void main()

{

student a;

while(1)

{

int SEL;

system("cls");

menu();

cin>>SEL;

switch(SEL)

{

case 1:

system("cls"); ainput();asave();break;

case 2:

system("cls"); aread(); break;

case 3:

system("cls"); adel(); break;

case 4:

system("cls"); aadd();break;

case 5:

system("cls"); aQuery();break;

case 6:

system("cls"); aorder();break;

case 7:

cout<<endl<<" 按任意键退出 "<<endl;

getchar();

exit(0);

default:

cout<<"Bad input!!\n";

break;

}

}

} 我比较忙,没有亲自帮你写,你自己改改吧,框架出来了。

应该不会,你做的时候保存了,说明已经有存档了,文件还会一直在的。最后你交卷的时候如果你没存,系统会提示你保存的。如果你是逾时交卷,系统会自动存盘。考官是不会管你程序怎么写的,他只看运行结果符不符合题目要求。当然,他看的结果不是用题目给的参数条件来运行看结果。这个没有意义,因为题目已经告诉你输入一个具体的A参数得到一个B结果了。他会输入另外一个参数,按照程序功能,得出跟该参数对应的结果就算你答对了。不要太担心。

以上就是关于c语言中由使用者给出一个资料夹,如何依次开启资料夹中的每个档案全部的内容,包括:c语言中由使用者给出一个资料夹,如何依次开启资料夹中的每个档案、求C语言学生档案管理界面的源代码、计算机二级c语言考试,做的时候都保存了,最后总的没保存,这样有分数吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10135883.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存