Linux 下程式設計(C語言)獲取檔案大小
程式碼:
#include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> int main(int argc,char *argv[]) { if(argc < 1) { printf("no file \n"); return 0; } int fd = open(argv[1],O_RDONLY); if(fd < 0) { perror("open "); return 0; } long int size = lseek(fd,0,SEEK_END); printf("%s size is %ld\n",argv[1],size); return 0; }
以上程式碼檔名為fsize.c
gcc fsize.c -o fsize
./fsize hello.c
在終端執行上述語句,即可獲取hello.c檔案的大小
可以通過 ll (即 ls -l)命令檢視hello.c的檔案大小是否和程式獲取的一樣來檢驗程式
相關推薦
Linux 下程式設計(C語言)獲取檔案大小
程式碼: #include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> int m
Linux下程式(C語言)實現對檔案的複製
目標: 使用系統呼叫實現cp命令。 原理: 使用系統呼叫open開啟檔案,使用read從檔案讀資料,使用write向檔案寫資料。 傳給可執行程式的引數個數存放在main函式的argc中,引數首地址存放在指標陣列argv中。 我的程式碼: #include <stdio.h&
(轉) linux socket 程式設計(C語言)
套接字是一種程序間的通訊的方法,不同於以往介紹的程序間通訊方法的是,它並不侷限於同一臺計算機的資源,例如檔案系統空間,共享記憶體或者訊息佇列。套接字可以認為是對管道概念的擴充套件——一臺機器上的程序可以使用套接字與另一臺機器上的程序通訊。因此客戶與伺服器可以分散在網路中。同一臺機器上的程序間也可以用
對linux下程式設計中用到的標頭檔案頭的一些定義及函式進行解譯(本人使用過程中用到過的不明白的定義及函式)
1、typedef unsigned long int pthread_t; 型別定義: typedef unsigned long int pthread_t; //come from /usr/include/bits/pthreadtypes.h 用途:pthread_t用於宣
Linux學習筆記(演算法與資料結構)之 佇列程式碼(C語言)
1、程式碼在VS2010的C++編譯器中編譯通過,可能有極少部分語法不符合C89標準;bool型別無法使用,用int代替 2、由於VS配置問題,沒有分.c和.h檔案書寫;如果要分,最好將Create_Node和Destory_Node加上static關鍵字修飾,他們只會在所
Linux學習筆記(演算法與資料結構)之 二叉搜尋樹程式碼(C語言)
1、程式碼在VS2010的C++編譯器中編譯通過,可能有極少部分語法不符合C99標準;bool型別無法使用,用int代替 2、由於VS配置問題,沒有分.c和.h檔案書寫;如果要分,最好將Create_Node和Destory_Node加上static關鍵字修飾,他們只會在所
基於TCP/IP的網路程式設計(C++語言程式設計)
基於TCP/IP的通訊基本上都是利用SOCKET套接字進行資料通訊,程式一般分為伺服器端和使用者端兩部分。設計思路(visual studio下): 第一部分 伺服器端 一、建立伺服器套接字(create)。 二、伺服器套接字進行資訊繫結(bind),並開始監聽連線
LeetCode 31. 下一個排列 Next Permutation (C語言)
題目描述: 實現獲取下一個排列的函式,演算法需要將給定數字序列重新排列成字典序中下一個更大的排列。 如果不存在下一個更大的排列,則將數字重新排列成最小的排列(即升序排列)。 必須原地修改,只允許使用額外常數空間。 以下是一些例子,輸入位於左側列,其相應輸出位於右側列。 1
c++(c語言)程式設計過程中遇到的細微問題總結(持續更新)
1.char*指標訪問元素的問題 對於char *型變數,遍歷訪問該變數的每一個元素時,會發生錯誤。 例如: char * str="01010101"; for(int i=0;i<str
linux的程序通訊:訊號量例項(C語言)
這篇發的很糾結,這不是我原創的程式碼,是同學寫的,我只是想在這記錄下來,以後沒事可以看看,寫轉載嘛,又沒有轉載的來源,翻譯就更扯了,勉強寫個原創,其實不是我原創啦。 ( ̄▽ ̄)" 有興趣可以看下,這是關於linux中的訊號量的使用的一篇文章。我加了一些註釋。 題目是:寫一個程式,該程式建立兩個程序,分
Linux下在C語言中獲取硬碟大小
由於系統中沒有現成的程式碼可以直接獲取某個硬碟的大小,此時可以藉助popen,sscanf,fdisk命令共同完成硬碟大小的獲取。 工件原理如下,在linux中執行fdisk -l命令,獲取硬碟的詳細資訊,然後在C程式中通過popen將資訊獲
簡單的TCP協議 socket程式設計(C語言版伺服器和客戶端)
最近由於本人對網路程式設計的喜愛,所以對一點關於TCP協議socket程式設計的總結。由於本人的能力有限,寫的可能過於簡單,只適合初學者,歡迎大牛提出寶貴的意見,本人會感激不盡的。廢話少說了,進入正題。(下面程式碼是基於VC6.0) 下圖
windows下用mingw32+sdl進行簡單2d遊戲開發(c語言)
#include<stdio.h> #include "SDL/SDL.h" #include "SDL/SDL_image.h" SDL_Surface *screen; void video_init(){ //遊戲圖形模式初始化 if(SDL_Init(SDL_INIT_VIDEO
Linux雜談: 實現一種簡單實用的執行緒池(C語言)
基本功能 1. 實現一個執行緒的佇列,佇列中的執行緒啟動後不再釋放; 2. 沒有任務執行時,執行緒處於pending狀態,等待喚醒,不佔cpu; 3. 當有任務需要執行時,從執行緒佇列中取出一個執行緒執行任務; 4. 任務執行完成後執行緒再次進入pending狀態,等待喚醒; 擴充套件功能 1.
自己主動化測試程序之中的一個自己定義鍵盤的模擬測試程序(C語言)
nds per oid 尾指針 應用 tro scan number 實現 一、測試程序編寫說明 我們做的終端設備上運行的是QT應用程序。使用自己定義的鍵盤接口。經過測試人員長時間的人機交互測試,來確認系統的功能是否滿足需求。如今須要編寫一個自己主動化
3、簡單計算機程序(C語言)
can ext class log cnblogs c語言 輸入 char 計算機程序 簡單計算機程序 程序代碼: /* 2017年6月30日15:35:14 功能:計算器程序,輸入兩個運算數與四則運算符,輸出計算結果 */ # include <stdio.h
自動生成小學生四則運算(C語言)
.html .com 它的 百度 http htm log hub .cn 我寫的這個自動生成小學生四則運算的代碼是根據我在百度上看到的一篇博客改的,地址為http://www.cnblogs.com/ys1101/p/4368103.html。它的功能不夠完整,只有整數的
終於把貪食蛇弄出來了(C語言)
inf pos 容易 發布 com 初學 總結 info src 真不容易,小小的貪食蛇,居然這麽有難度。 從圖片可以看出,卡頓,閃爍比較嚴重,而且比較簡陋。 初學者,做成這樣,我覺得還算不錯,恩繼續學習。 額,代碼先不貼了,先總結一下,整理好之後再發布終於把貪食蛇弄出來
【最全】經典排序算法(C語言)
排好序 而不是 lock wap 循環 而且 -s 關鍵字 void 本文章包括所有基本排序算法(和其中一些算法的改進算法): 直接插入排序、希爾排序、直接選擇排序、堆排序、冒泡排序、快速排序、歸並排序、基數排序。 算法復雜度比較: 算法分類 一、直接插入排序 一個
樹莓派超聲波測距+蜂鳴器(c語言)
mic 程序 老師 SM tput measure github stop 一個 前邊我們已經詳細的講解了樹莓派控制超聲波模塊測距(http://www.cnblogs.com/yuemo/p/8888342.html)和超聲波控制蜂鳴器模塊發聲(http://www.