資源簡介
計算CRC 校驗碼
計算機網絡
代碼片段和文件信息
/*
封裝Ethernet幀
計算CRC(32)校驗碼
*/
#include
#include
void?main(int?argc?char?*argv[])
{
//檢查輸入命令格式
if(argc?!=?3)
{
cout?<“Please?input?command:?Encapframe?input_file?output_file“?< return;
}
fstream?file;//創建文件流
//打開指定輸出文件,讀寫方式以二進制可讀可寫。若文件存在則清楚其內容
file.open(argv[2]?ios::in?|?ios::out?|?ios::binary?|?ios::trunc);
for(int?i=0;?i<7;i++)//寫入7B(字節)的前導碼
file.put(char(0xaa));
file.put(char(0xab));//寫入1B幀前定界符
//獲得當前文件指針位置,計算CRC時從這里開始
long?pCrcS?=?file.tellp();
//寫入6B的目的地址
char?dst_addr[6]?=?{char(0x00)?char(0x00)?char(0xe4)?char(0x86)?char(0x3a)?char(0xdc)};
file.write(dst_addr?sizeof(dst_addr));
//寫入6B的源地址
char?src_addr[6]?=?{char(0x00)?char(0x00)?char(0x80)?char(0x1a)?char(0xe6)?char(0x65)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????229537??2016-10-07?15:02??CRC循環冗余校驗(32)\Debug\Encapfr
?????文件?????277220??2016-10-07?15:02??CRC循環冗余校驗(32)\Debug\Encapfr
?????文件??????16430??2016-10-07?15:02??CRC循環冗余校驗(32)\Debug\Encapfr
?????文件?????265708??2016-10-07?10:51??CRC循環冗余校驗(32)\Debug\Encapfr
?????文件?????664576??2016-10-07?15:02??CRC循環冗余校驗(32)\Debug\Encapfr
?????文件??????????5??2016-10-11?17:42??CRC循環冗余校驗(32)\Debug\input.txt
?????文件????????107??2016-10-07?15:03??CRC循環冗余校驗(32)\Debug\output.txt
?????文件??????99328??2016-10-07?15:02??CRC循環冗余校驗(32)\Debug\vc60.idb
?????文件?????118784??2016-10-07?15:02??CRC循環冗余校驗(32)\Debug\vc60.pdb
?????文件???????3477??2016-10-07?15:02??CRC循環冗余校驗(32)\Encapfr
?????文件???????4332??2016-10-05?23:34??CRC循環冗余校驗(32)\Encapfr
?????文件????????528??2016-10-05?23:33??CRC循環冗余校驗(32)\Encapfr
?????文件??????41984??2016-10-07?15:02??CRC循環冗余校驗(32)\Encapfr
?????文件??????48640??2016-10-07?15:02??CRC循環冗余校驗(32)\Encapfr
?????文件???????1398??2016-10-07?15:02??CRC循環冗余校驗(32)\Encapfr
?????目錄??????????0??2016-10-07?15:02??CRC循環冗余校驗(32)\Debug
?????目錄??????????0??2016-10-07?15:02??CRC循環冗余校驗(32)
-----------?---------??----------?-----??----
??????????????1772054????????????????????17
- 上一篇:簡易頻率計數電課程設計
- 下一篇:模擬Ethernet幀發送過程
評論
共有 條評論