C語言實現的linux中列印程式

2021-04-07 04:41:00 字數 1292 閱讀 3235

linux中的列印程式有兩種,一種是系統列印,也就是lp命令(一般系統配置好印表機以後,這個命令就可以直接使用),要求印表機直接接在裝有linux系統的機器上,另一種是終端列印,就要要求印表機是接在終端的串列埠上.

那麼lp是系統自帶的,我們可以簡單地使用system("lp filename");就可以實現印表機列印檔案了

另外一種需要我們自己再寫乙個程式,這個程式可以是sh,也可以是c語言:

sh程式:比如locp.sh

if [ $# = 0 ]

then

exit -1           /*如果引數為0個,直接退出*/

else

echo

"/033[5i"    /*開啟這個埠,很什麼印表機無關,一般印表機埠都是這個*/

cat$*            /*顯示檔名,其實就是在這個埠顯示這個檔案,印表機就會自動列印了*/

echo

"/033[4i"    /*關閉埠*/

exit 0            /*正常退出*/

fic程式:比如locp.c  (時間倉促,格式未整理,注釋未加,未測試)

編譯使用: cc -o locp locp.c

#include

#include

#include

intmain

( int

argc

,char * argv )

print_ptr = fopen ( "/dev/tty","wt");

if ( print_ptr == null )

rpt_ptr = fopen ( argv[1],"rt");

if ( rpt_ptr == null )

fputs ( v_begin,print_ptr);

while (fgets(buf,10240,rpt_ptr) != null)

num ++;

*/num = strlen ( buf );

/*if ( buf[num - 1] == '^m' )*/

fputs ( buf,print_ptr);

fflush(print_ptr);}

// fputs ( "^l",print_ptr);

fputs ( v_end,print_ptr);

fflush(print_ptr);

fclose(rpt_ptr);

fclose(print_ptr);

return 0;}

c程式中使用system("locp filename");即可

c語言實現的協程

這幾天突然對協程感興趣,於是自己實現了乙個,放在github上 協程是一種使用者空間的非搶占式執行緒,主要用來解決等待大量的io操作的問題。協程vs執行緒 對比使用多執行緒來解決io阻塞任務,使用協程的好處是不用加鎖,訪問共享的資料不用進行同步操作。這裡需要說明的一點是,使用協程之所以不需要加鎖不是...

用C語言實現列印菱形

用c語言實現列印乙個空心的菱形,菱形的高度由使用者輸入。函式的功能是列印乙個空心的菱形,菱形的總高度由使用者輸入 根據菱形的特性,高度應該是乙個奇數,如果輸入偶數,根據程式的 演算法,是將該偶數加1作為新的高度來列印菱形 include includeint main void printf 列印完...

Linux中tree命令的C語言實現

一 tree命令是幹什麼的?我們經常用tree命令來檢視指定目錄下的目錄檔案結構,並以樹狀結構顯示。二 明確需求 1 顯示目錄下的所有檔案 2 遇到目錄則要進入目錄,並顯示該目錄下的所有檔案 3 顯示需要使用樹狀層次顯示 三 程式設計思路 1 很明顯這是乙個遞迴過程,遇到目錄則遞迴呼叫。2 需要用到...