#includeintmain(intargc,char*argv[]){intch;FILE*fpinPtr,*fpou" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

UNIX2DOS工具

系統(tǒng) 2085 0

今天寫了一個UNIX2DOS工具,用于把UNIX系統(tǒng)的文本轉(zhuǎn)換成DOS(Windows)下支持的文本。

兩大操作系統(tǒng)文本主要的不同在于換行時UNIX里只有 '\n'字符,而在DOS(Windows)下變成了'\r\n'。


廢話不多說,此工具用C語言寫成,源代碼如下:

?

// unix2dos
//
#include? < stdio.h >
#include?
< stdlib.h >

int ?main( int ?argc, char ? * argv[])
{
????
int ?ch;
????FILE?
* fpinPtr, * fpoutPtr;

????
if ?(argc != 3 )
????{
????????printf(
" UNIX2DOS?program.\n\n " );
????????printf(
" Usage:?command?source_file?target_file\n " );
????????printf(
" Usage?example:?\ " unix2dos?src.txt?obj.txt\ " \n " );
????????exit(EXIT_FAILURE);
????}

????
if ?((fpinPtr = fopen(argv[ 1 ], " rb " )) == NULL)
????{
????????printf(
" Input?file?\ " % s\ " ?could?not?be?opened\n " ,argv[ 1 ]);
????????exit(EXIT_FAILURE);
????}

????
if ?((fpoutPtr = fopen(argv[ 2 ], " wb " )) == NULL)
????{
????????printf(
" Outout?file?\ " % s\ " ?could?not?be?opened\n " ,argv[ 2 ]);
????????exit(EXIT_FAILURE);
????}

????
while ( ! feof(fpinPtr))
????{
????????ch
= fgetc(fpinPtr);
????????
if (ch >- 1 ? && ?ch? != ? ' \n ' )
????????{
????????????fputc(ch,fpoutPtr);
????????}
????????
else ? if (ch >- 1 )
????????{
????????????fputc(
' \r ' ,fpoutPtr);
????????????fputc(ch,fpoutPtr);
????????}

????}

????fclose(fpinPtr);
????fclose(fpoutPtr);

????
return ? 0 ;
}

?

當(dāng)然,還有一個附加產(chǎn)品:DOS2UNIX,源代碼如下:


// dos2unix
//
#include? < stdio.h >
#include?
< stdlib.h >

int ?main( int ?argc, char ? * argv[])
{
????
int ?ch;
????FILE?
* fpinPtr, * fpoutPtr;

????
if ?(argc != 3 )
????{
????????printf(
" DOS2UNIX?program.\n\n " );
????????printf(
" Usage:?command?source_file?target_file\n " );
????????printf(
" Usage?example:?\ " DOS2UNIX?src.txt?obj.txt\ " \n " );
????????exit(EXIT_FAILURE);
????}

????
if ?((fpinPtr = fopen(argv[ 1 ], " rb " )) == NULL)
????{
????????printf(
" Input?file?\ " % s\ " ?could?not?be?opened\n " ,argv[ 1 ]);
????????exit(EXIT_FAILURE);
????}

????
if ?((fpoutPtr = fopen(argv[ 2 ], " wb " )) == NULL)
????{
????????printf(
" Outout?file?\ " % s\ " ?could?not?be?opened\n " ,argv[ 2 ]);
????????exit(EXIT_FAILURE);
????}

????
while ( ! feof(fpinPtr))
????{
????????ch
= fgetc(fpinPtr);
????????
if (ch >- 1 ? && ?ch? != ? ' \r ' )
????????{
????????????fputc(ch,fpoutPtr);
????????}
????}

????fclose(fpinPtr);
????fclose(fpoutPtr);

????
return ? 0 ;
}

?


參考代碼源:HP UNIX CP命令?,歡迎各位高手批評指正。?


Wednesday, May 06, 2009

?

?

UNIX2DOS工具


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 木兰县| 桃园市| 阿克苏市| 襄城县| 阳西县| 晋城| 乌审旗| 芦溪县| 盘山县| 连山| 颍上县| 读书| 正安县| 金溪县| 西平县| 屏南县| 承德市| 台南市| 林州市| 昆山市| 和田县| 阆中市| 宿迁市| 尼玛县| 封丘县| 娄底市| 沁水县| 达拉特旗| 达孜县| 荃湾区| 汽车| 卓尼县| 通榆县| 邹城市| 正宁县| 丁青县| 湖南省| 忻州市| 黑龙江省| 湾仔区| 航空|