国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

利用C語(yǔ)言小程序來(lái)解決大問(wèn)題

2019-11-17 05:11:30
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  我們知道C語(yǔ)言的功能非常強(qiáng)大, 很適合編寫系統(tǒng)軟件。利用它我們可以很輕易地解決經(jīng)常碰到的一些棘手的問(wèn)題,如拷貝隱含或系統(tǒng)屬性的文件(非凡是光盤中的隱含文件)、在任意DOS版本或在windows中更改子目錄的名稱、在任意DOS 版本中使用帶空格的目錄名等等。
這些問(wèn)題僅靠操作系統(tǒng)或常用的工具軟件往往很難湊效。我們可以利用C語(yǔ)言的強(qiáng)大功能來(lái)編寫一些小程序,能夠很順利地解決這些問(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)
{
$#@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中更改子目錄的名稱
  DOS 只是在 6. x 版本中提供了更改子錄名的程序。 在windows中改目錄名操作又很繁瑣。 下面的小程序可以很簡(jiǎn)單地更改任何一級(jí)子目錄的名稱,而且也可以用來(lái)更改文件的名稱。

# include "stdio.h"
main(int argc,char *argv[])
{ int n;
if(argc$#@60; 3)
{
printf("Required parameter missing/n");
exit(0);
}
n=rename(argv[1],argv[2]);
if(n==-1)
{
printf("Duplicate name or name not found/n");
exit(0);
}
}


  三、使用帶空格的目錄名
≈謁苤贒OS 中是不答應(yīng)在文件名或子目錄名中包含空格的。這是因?yàn)橄到y(tǒng)是用空格來(lái)區(qū)分輸入的DOS 命令所帶的參數(shù),同樣使用DOS的 MD、CD、RD等命令也無(wú)法使用含有空格的目錄名。但是在用CHKDSK命令對(duì)磁盤進(jìn)行檢查時(shí),對(duì)含有空格的子目錄名并不給出錯(cuò)誤信息。這說(shuō)明在DOS 中含有空格的目錄名是有存在的合法性的。因?yàn)镈OS 中的命令無(wú)法使用含空格的目錄名,所以可以起到一定的加密作用。下面的程序介紹如何利用C語(yǔ)言來(lái)建立、進(jìn)入和刪除含有空格的子目錄。

  1、建立帶空格的子目錄

/* 文件名: mddir.c */
#include $#@60; dir.h $#@62;
main(int argc,char * argv[])
{ if (argc==2)
{if(mkdir(argv[1])) perror("Error");}
else printf("Usage : MDDIR + dirname/n");

return (0);
}

  在程序使用中注重要用雙引號(hào)將目錄名括起來(lái),假如目錄名中不含有空格可將雙引號(hào)省略。例如: mddir "a test" 。以下程序使用方法相同
  2、進(jìn)入帶空格的子目錄

/* 文件名: cddir.c */
#include $#@60; dir.h $#@62;
main(int argc,char * argv[])
{ if(argc==2)
{if(chdir(argv[1])) perror("Error");}
else printf("Usage : CDDIR + dirname/n");
return 0;
}

  3、刪除帶空格的子目錄
/* 文件名: rddir.c */
#include $#@60; dir.h $#@62;
main(int argc,char * argv[])
{ if (argc==2)
{if(rmdir(argv[1])) perror("Error");}
else printf("Usage : RDDIR + dirname/n");
return 0;
}

  以上程序均用 Turbo c 2.0 調(diào)試通過(guò),注重以上程序的文件名不要與DOS中的有關(guān)命令相同,以免發(fā)生沖突。 更多文章 更多內(nèi)容請(qǐng)看C/C++進(jìn)階技術(shù)文檔專題,或

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 噶尔县| 绥德县| 梁山县| 白城市| 安塞县| 新田县| 海南省| 东山县| 绥化市| 桦南县| 内黄县| 东山县| 长子县| 嘉祥县| 衡水市| 滕州市| 凤城市| 靖州| 宜宾县| 祁门县| 松滋市| 白朗县| 贡嘎县| 中超| 靖安县| 辛集市| 舟山市| 菏泽市| 开封市| 乾安县| 拜泉县| 许昌市| 威远县| 当阳市| 葫芦岛市| 手机| 阿尔山市| 祁连县| 宜都市| 长武县| 吐鲁番市|