麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

利用C語言小程序來解決大問題

2019-11-17 05:11:30
字體:
來源:轉載
供稿:網友

  我們知道C語言的功能非常強大, 很適合編寫系統軟件。利用它我們可以很輕易地解決經常碰到的一些棘手的問題,如拷貝隱含或系統屬性的文件(非凡是光盤中的隱含文件)、在任意DOS版本或在windows中更改子目錄的名稱、在任意DOS 版本中使用帶空格的目錄名等等。
這些問題僅靠操作系統或常用的工具軟件往往很難湊效。我們可以利用C語言的強大功能來編寫一些小程序,能夠很順利地解決這些問題。

  一、拷貝隱含或系統屬性的文件

  使用操作系統提供的拷貝命令不能拷貝隱含或系統屬性的文件,因為在拷貝過程中系統會提示“File not found”。下面的小程序可以解決這個問題。

// copyfile.c
# include $#@60; stdio.h $#@62;
# include $#@60; stdlib.h $#@62;
main(int argc,char *argv[])
{ if(argc$#@60; 3)
{
$#@60; 源文件名 $#@62; $#@60; 目標文件名 $#@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中改目錄名操作又很繁瑣。 下面的小程序可以很簡單地更改任何一級子目錄的名稱,而且也可以用來更改文件的名稱。

# 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 中是不答應在文件名或子目錄名中包含空格的。這是因為系統是用空格來區分輸入的DOS 命令所帶的參數,同樣使用DOS的 MD、CD、RD等命令也無法使用含有空格的目錄名。但是在用CHKDSK命令對磁盤進行檢查時,對含有空格的子目錄名并不給出錯誤信息。這說明在DOS 中含有空格的目錄名是有存在的合法性的。因為DOS 中的命令無法使用含空格的目錄名,所以可以起到一定的加密作用。下面的程序介紹如何利用C語言來建立、進入和刪除含有空格的子目錄。

  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);
}

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

/* 文件名: 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 調試通過,注重以上程序的文件名不要與DOS中的有關命令相同,以免發生沖突。 更多文章 更多內容請看C/C++進階技術文檔專題,或

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 毛片在线视频观看 | 国产91极品 | 久久久久二区 | 精品成人av一区二区在线播放 | 久久久久久久亚洲精品 | 亚洲一区二区观看播放 | 露脸各种姿势啪啪的清纯美女 | 国产亚洲精品久久久久久网站 | 日本a大片 | 懂色av懂色aⅴ精彩av | 最新中文在线视频 | 国产精品久久久不卡 | 狠狠干狠狠操 | 91福利国产在线观一区二区 | 羞羞视频免费网站入口 | 春光影院理论片 | 欧美性受xxxxxx黑人xyx性爽 | 久久精品亚洲精品国产欧美kt∨ | 国产亚洲精品久久久久久久久久 | 99re热精品视频 | 欧美一区二区黄 | 精品国产一区二区三区久久久狼牙 | 国产精品99久久99久久久二 | 国产高清成人久久 | 黄色毛片视频在线观看 | 国产精品久久久久久一区二区三区 | 欧美福利视频一区二区 | 蜜桃传媒视频麻豆第一区免费观看 | 黄色一级片免费在线观看 | 毛片视| 亚洲尻逼视频 | 国产成人av在线播放 | 国产精品成人久久 | 羞羞视频免费网站日本动漫 | 欧美成人一区二区三区 | 久久网站热最新地址 | 欧美日韩一 | 日本在线播放一区二区三区 | 99精品国产成人一区二区 | 欧美精品日日鲁夜夜添 | 黄色av免费网站 |