向隨身碟寫檔案的C程式碼
向隨身碟寫檔案的C程式碼
[@more@]948 int atm_monitor_write_file(const char* buffer, const ssize_t len)949 {
950 int i = 0;
951 int fileId = -1;
952 int ret = -1;
953 int writeLen = -1;
954 struct stat fileStat;
955 char mountedPath[64]; /**< 裝置掛載路徑 /usb-sdX */
956 char testPath[9][64] =
957 {
958 "/tmp/usb-sda1",
959 "/tmp/usb-sdb1",
960 "/tmp/usb-sdc1",
961 "/tmp/usb-sdd1",
962 "/tmp/usb-sde1",
963 "/tmp/usb-sdf1",
964 "/tmp/usb-sdg1",
965 "/tmp/usb-sdh1",
966 "/tmp/usb-sdi1",
967 };
968 char filePath[128]; /**< 待寫入檔案路徑 */
969
970 for(i = 0; i < 9; i++)
971 {
972 ret = stat(testPath[i], &fileStat);
973 if(!ret)
974 {
975 memcpy(mountedPath, testPath[i], sizeof(mountedPath));
976 break;
977 }
978 }
979
980 if(ret)
981 {
982 /**< TODO: notify GUI */
983 GD_DP(("no usb device!n"));
984 ret = APP_FAIL;
985 goto EXIT0;
986 }
987
988 sprintf(filePath, "%s/card.log", mountedPath);
989
990 if((fileId = open(filePath, O_WRONLY | O_CREAT | O_APPEND, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)) == -1)
991 {
992 /**< TODO: notify GUI */
993 GD_DP(("Cannot open file %s!n",filePath));
994 ret = APP_FAIL;
995 goto EXIT0;
996 }
997
998 writeLen = write(fileId, buffer, len);
999 if(writeLen != -1)
1000 {
1001 ret = APP_SUCCESS;
1002 }
1003 else
1004 {
1005 GD_DP(("write data failedn"));
1006 ret = APP_FAIL;
1007 }
1008
1009 EXIT0:
1010 if(-1 != fileId)
1011 {
1012 fsync(fileId);//只對檔案描述符制定單一檔案起作用,並等待磁碟操作結束,然後返回
1013 close(fileId);
1014 fileId = -1;
1015 }
1016
1017 return ret;
1018 }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23168012/viewspace-1046759/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 隨身碟插入自動讀寫/隨身碟插入自動複製檢測隨身碟的插入,以及進行自動複製檔案並寫入檔案
- 隨身碟免疫檔案應該怎麼建立呢?隨身碟免疫檔案的建立方法教程
- 隨身碟檔案被隱藏怎麼恢復 隨身碟檔案恢復隱藏的方法
- 丟失的隨身碟檔案如何恢復?
- 車載隨身碟和普通隨身碟哪個好 車載隨身碟和普通隨身碟的區別
- 隨身碟被刪除的檔案如何恢復?
- 檔案太大不能複製到隨身碟怎麼辦 win10檔案過大無法複製到隨身碟Win10
- 如何批次進行隨身碟加密?隨身碟加密的方法有哪些?加密
- 移動隨身碟怎麼設定密碼 隨身碟加密最簡單方法密碼加密
- wim檔案製作隨身碟啟動盤教程【圖文】
- 隨身碟變硬碟怎麼辦,隨身碟變硬碟恢復方法硬碟
- Win7電腦使用隨身碟複製檔案提示“exFAT寫入保護”的解決方法Win7
- 隨身碟此卷不包含可識別的檔案系統修復方法?
- Win7系統中隨身碟複製檔案時提示“exFAT寫入保護”的解決方法Win7
- 隨身碟格式會影響到隨身碟複製數量嗎?隨身碟格式對複製數量有什麼影響
- 被隨身碟炸傷!厄瓜多記者收到偽裝成隨身碟的炸彈
- 解決關於Mac不能複製複製檔案到隨身碟的問題Mac
- Linux掛載隨身碟,SD卡LinuxSD卡
- windows10系統開啟隨身碟不顯示檔案如何解決Windows
- Win10系統下隨身碟檔案無法複製如何解決Win10
- 替代隨身碟共享,構建銀行檔案跨區域共享新體系
- 如何使用Fdisk來快速重建隨身碟分割槽?Fdisk快速重建隨身碟分割槽的方法步驟
- Win10系統下隨身碟不能讀寫的解決方法Win10
- win10系統隨身碟資料夾大小超過隨身碟容量如何解決Win10
- 如何用隨身碟安裝win10系統_隨身碟裝win10官方原版映象的方法Win10
- 隨身碟格式化怎麼設定比較好 隨身碟格式化的正確步驟
- 如何用隨身碟重灌系統win10|隨身碟重灌win10系統步驟Win10
- 隨身碟安裝系統怎麼操作 隨身碟安裝系統方法和步驟教程
- 圖文步驟展示用 diskpart 解除 隨身碟防寫狀態
- 如何用隨身碟裝win10原版系統|隨身碟安裝win10原版系統的方法Win10
- 聯想電腦如何用隨身碟裝系統|聯想筆記本隨身碟裝系統的方法筆記
- 你知道不同隨身碟在ARM+Linux下的讀寫速率嗎?Linux
- 電腦隨身碟啟動按鈕
- Ventoy工具製作啟動隨身碟
- 閃迪隨身碟資料恢復資料恢復
- USBclean for Mac隨身碟病毒查殺工具Mac
- 華碩電腦隨身碟重灌系統教程|華碩電腦如何用隨身碟重灌系統
- 隨身碟如何製作win10安裝盤|win10安裝隨身碟製作方法Win10
- Docker檔案遷移到TF卡或者隨身碟,最大限度減少空間佔用Docker