原创 Linux系統編程5標準IO - cfgets和fputs

實驗1:fgets 正常結束情況說明 實驗2:以字符串拷貝的方式實現cp, fgets(),fputs() 1 fgets說明 /* 讀取文件後的存儲地址 讀取大小 源文件 */ char *fgets(char *s, int

原创 Linux系統編程21 文件系統 - 文件屬性 st_mode

分析 mode_t st_mode st_mode 是一個16位的位圖,用於表示文件類型,文件訪問權限,及特殊權限位。 mhr@ubuntu:~/work/linux/wenjianxitong/20$ ls -l tota

原创 C基礎第41課 -- 內存操作經典問題分析一

學習自狄泰軟件學院唐佐林老師C語言課程,文章中圖片取自老師的PPT,僅用於個人筆記。 指針變量的值是非法的內存地址的含義: 非法的內存地址,不是給我們分配的內存地址。 那麼什麼是非法的內存地址呢? 除了合法的內存地址就是非法的

原创 Linux系統編程3標準IO - fclose和文件權限問題

實驗1:fclose 實驗2:一個進程的空間中最多可以打開多少個文件 實驗3:我們以 w 等的模式創建打開了一個文件,運行後得到 tmp文件,該文件的權限是怎麼得到的 fclose: AME fclose - close a s

原创 Linux系統編程2標準IO - fopen

實驗1 fopen.c :在當前路徑下打開一個不存在的文件 “tmp” 實驗2:man手冊中的頭文件一定要全部加進去、 int *p = malloc(sizeof(int)); 問題: FILE *fopen(const ch

原创 Linux系統編程6標準IO - fread和fwrite

實驗1 : fread(buf,size.nmemb,fb) 注意項 實驗2 :以 fread().fwrite() 實現 cp 命令 NAME fread, fwrite - binary stream input/outpu

原创 Linux系統編程1標準IO - sysio系統調用IO 與 標準IO概述

sysio系統調用IO(文件IO) stdio 標準IO 一 sysio系統調用IO(文件IO): kernel爲用戶提供的一組函數,用於讓我們能對話kernel。所以我們可以通過系統調用IO 直接對話kernel。 思考:

原创 Linux系統編程27 系統數據文件和信息 - /etc/passwd 用戶信息文件和函數 getpwuid() getpwnam()

一 、/etc/passwd 我們發現 ls -l 顯示線程的 user名 和 group名 ls -n 顯示線程的 user id 和 group id mhr@ubuntu:~$ ls -l total 52 drwxr-x

原创 Linux系統編程7標準IO - printf和scanf

實驗1 ,atoi(),將字符串轉換爲整型 實驗2:snprintf(),將多個類型綜合轉換爲字符串,可以將snprintf() 看成 atoi()的反向。 1 printf系列 man 3 printf int printf(

原创 Qt第8課 - 計算器界面設計

本文學習自 狄泰軟件 唐佐林老師的 QT課程,文中圖片源自老師課程PPT。 實驗1:計算器界面 要注意的問題: 邊開發 邊查文檔 實驗:計算器界面 #include <QtGui/QApplication> #incl

原创 Linux系統編程4標準IO - fgetc和fputc

實驗1 以字符拷貝的方式,fgetc,fputc 實現 cp 命令,mycpy,格式是 ./mycpy srcfile destfile 實驗2 利用 fgetc()查看一個文件中有多少個有效字符 1 字符的輸入 fgetc,

原创 Linux系統編程33 進程環境 - 進程終止方式 以及 exit() atexit() _exit()

1 main函數 當前進程的出入口 2 進程的終止方式,十分重要,一定記清! 正常終止: 從main函數返回: return 0 調用exit : exit(0) / exit(1) ... 是庫函數 調用 _

原创 Linux系統編程29 系統數據文件和信息 - 密碼校驗實例

mhr@ubuntu:~/work/linux/muluheyonghucaozuo/29$ gedit /etc/shadow mhr@ubuntu:~/work/linux/muluheyonghucaozuo/29$ su

原创 Linux系統編程28 系統數據文件和信息 - /etc/group 用戶信息文件和函數 getgrgid()

一 /etc/group getgrgid() getgrgrnam() vim /etc/group mhr:x:1000: 同理 group 信息的存儲形式和passwd 也是一樣的,不同的系統有不同的方式。 NAME g

原创 Linux系統編程32 系統數據文件和信息 -時間實驗 獲取100天后的時間

實驗2 :100天后的時間 輸出當前時間 #include <stdio.h> #include <stdlib.h> #include <time.h> #define TIMESTRSIZE 1024 int main()