新聞中心
我們知道C++語(yǔ)言的功能非常強(qiáng)大,很適合編寫(xiě)系統(tǒng)軟件。利用它我們可以很容易地解決經(jīng)常遇到的一些棘手的問(wèn)題。如拷貝隱含或系統(tǒng)屬性的文件(特別是光盤(pán)中的隱含文件)、在任意DOS版本或在windows中更改子目錄的名稱(chēng)。

專(zhuān)業(yè)從事網(wǎng)站制作、做網(wǎng)站,高端網(wǎng)站制作設(shè)計(jì),重慶小程序開(kāi)發(fā)公司,網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊(duì)竭力真誠(chéng)服務(wù),采用html5+CSS3前端渲染技術(shù),成都響應(yīng)式網(wǎng)站建設(shè)公司,讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過(guò)程建立專(zhuān)項(xiàng)小組,與您實(shí)時(shí)在線(xiàn)互動(dòng),隨時(shí)提供解決方案,暢聊想法和感受。
在任意DOS 版本中使用帶空格的目錄名等等。這些問(wèn)題僅靠操作系統(tǒng)或常用的工具軟件往往很難湊效。我們可以利用C++語(yǔ)言的強(qiáng)大功能來(lái)編寫(xiě)一些小程序,能夠很順利地解決這些問(wèn)題。
一、拷貝隱含或系統(tǒng)屬性的文件
使用操作系統(tǒng)提供的拷貝命令不能拷貝隱含或系統(tǒng)屬性的文件,因?yàn)樵诳截愡^(guò)程中系統(tǒng)會(huì)提示“File not found”。下面的小程序可以解決這個(gè)問(wèn)題。
- // copyfile.c
- # include $#@60; stdio.h $#@62;
- # include $#@60; stdlib.h $#@62;
- main(int argc,char *argv[])
- { if(argc$#@60; 3)
- {
- printf("\n用法: COPYFILE
- $#@60; 源文件名 $#@62; $#@60; 目標(biāo)文件名 $#@62;\n");
- exit(1);
- }
- copy(argv[1],argv[2]);
- }
- copy(char * file1,char * file2)
- {
- char ch;
- FILE * fp1,* fp2;
- if((fp1=fopen(file1,"rb"))==NULL)
- {
- printf("\nCant open file %s",file1);
- fclose(fp1);
- return;
- }
- if((fp2=fopen(file2,"wb"))==NULL)
- {
- printf("\nCant open file %s",file2);
- fclose(fp1);
- return;
- }
- ch=fgetc(fp1);
- while (!feof(fp1))
- {
- fputc(ch,fp2);
- ch=fgetc(fp1);
- }
- fclose(fp1);
- fclose(fp2);
- return;
- }
二、在任意DOS版本或windows中更改子目錄的名稱(chēng)
DOS 只是在 6. x 版本中提供了更改子錄名的程序。 在windows中改目錄名操作又很繁瑣。 下面的小程序可以很簡(jiǎn)單地更改任何一級(jí)子目錄的名稱(chēng),而且也可以用來(lái)更改文件的名稱(chēng)
- // copyfile.c
- # include $#@60; stdio.h $#@62;
- # include $#@60; stdlib.h $#@62;
- main(int argc,char *argv[])
- { if(argc$#@60; 3)
- {
- printf("\n用法: COPYFILE
- $#@60; 源文件名 $#@62; $#@60; 目標(biāo)文件名 $#@62;\n");
- exit(1);
- }
- copy(argv[1],argv[2]);
- }
- copy(char * file1,char * file2)
- {
- char ch;
- FILE * fp1,* fp2;
- if((fp1=fopen(file1,"rb"))==NULL)
- {
- printf("\nCant open file %s",file1);
- fclose(fp1);
- return;
- }
- if((fp2=fopen(file2,"wb"))==NULL)
- {
- printf("\nCant open file %s",file2);
- fclose(fp1);
- return;
- }
- ch=fgetc(fp1);
- while (!feof(fp1))
- {
- fputc(ch,fp2);
- ch=fgetc(fp1);
- }
- fclose(fp1);
- fclose(fp2);
- return;
- }
三、使用帶空格的目錄名
系統(tǒng)是用空格來(lái)區(qū)分輸入的DOS 命令所帶的參數(shù),同樣使用DOS的 MD、CD、RD等命令也無(wú)法使用含有空格的目錄名。但是在用CHKDSK命令對(duì)磁盤(pán)進(jìn)行檢查時(shí),對(duì)含有空格的子目錄名并不給出錯(cuò)誤信息。這說(shuō)明在DOS 中含有空格的目錄名是有存在的合法性的。因?yàn)镈OS 中的命令無(wú)法使用含空格的目錄名,所以可以起到一定的加密作用。下面的程序介紹如何利用C++語(yǔ)言來(lái)建立、進(jìn)入和刪除含有空格的子目錄。
- // copyfile.c
- # include $#@60; stdio.h $#@62;
- # include $#@60; stdlib.h $#@62;
- main(int argc,char *argv[])
- { if(argc$#@60; 3)
- {
- printf("\n用法: COPYFILE
- $#@60; 源文件名 $#@62; $#@60; 目標(biāo)文件名 $#@62;\n");
- exit(1);
- }
- copy(argv[1],argv[2]);
- }
- copy(char * file1,char * file2)
- {
- char ch;
- FILE * fp1,* fp2;
- if((fp1=fopen(file1,"rb"))==NULL)
- {
- printf("\nCant open file %s",file1);
- fclose(fp1);
- return;
- }
- if((fp2=fopen(file2,"wb"))==NULL)
- {
- printf("\nCant open file %s",file2);
- fclose(fp1);
- return;
- }
- ch=fgetc(fp1);
- while (!feof(fp1))
- {
- fputc(ch,fp2);
- ch=fgetc(fp1);
- }
- fclose(fp1);
- fclose(fp2);
- return;
- }
【編輯推薦】
- 如何正確編寫(xiě)C++項(xiàng)目開(kāi)發(fā)編寫(xiě)項(xiàng)目計(jì)劃書(shū)
- 對(duì)C++庫(kù)函數(shù)進(jìn)行學(xué)習(xí)探索總結(jié)筆記
- 深度演示C++語(yǔ)言的種種高安全性
- 詳細(xì)介紹如何準(zhǔn)確無(wú)誤的編寫(xiě)C++語(yǔ)言
- 深度演示C++語(yǔ)言的種種高安全性
分享標(biāo)題:為程序員解憂(yōu)的C++語(yǔ)言
當(dāng)前URL:http://fisionsoft.com.cn/article/coscdpd.html


咨詢(xún)
建站咨詢(xún)
