一、基本輸入輸出操作
輸入操作:字節流是從設備(如鍵盤、文件、網絡等)流向內存。
輸出操作:字節流是從內存流向設備(如顯示屏、文件、打印機等)。
二、C++語言中的輸入輸出
頭文件:<iostream>
標准輸入流(cin):標准輸入設備,通常是鍵盤
標准輸出流(cout):標准輸出設備,通常是顯示屏
預定義的對象 cout 是 iostream 類的一個實例。cout 對象"連接"到標准輸出設備,通常是顯示屏。cout 是與流插入運算符 << 結合使用
預定義的對象 cin 是 iostream 類的一個實例。cin 對象附屬到標准輸入設備,通常是鍵盤。cin 是與流提取運算符 >> 結合使用
三、C語言中的輸入輸出
頭文件:<stdio.h>
標准輸入(stdin):標准輸入設備,通常是鍵盤
標准輸出(stdout):標准輸出設備,通常是顯示屏
scanf
int scanf(const char *format, ...) 函數從標准輸入流 stdin 讀取輸入,並根據提供的 format 來瀏覽輸入。
printf
int printf(const char *format, ...) 函數把輸出寫入到標准輸出流 stdout ,並根據提供的格式產生輸出。
gets
char *gets(char *s) 函數從 stdin 讀取一行到 s 所指向的緩沖區,直到一個終止符或 EOF。
puts
int puts(const char *s) 函數把字符串 s 和一個尾隨的換行符寫入到 stdout。
四、輸入輸出重定向到文件
在默認情況下,cin 只能接收從鍵盤輸入的數據,cout 也只能將數據輸出到屏幕上。
但通過重定向,cin 可以將指定文件作為輸入源,即接收文件中早已准備好的數據,同樣 cout 可以將原本要輸出到屏幕上的數據轉而寫到指定文件中。
freopen() 定義在<stdio.h>頭文件中,是 C 語言標准庫中的函數,專門用於重定向輸入流(包括 scanf()、gets() 等)和輸出流(包括 printf()、puts() 等)。
該函數也可以對 C++ 中的 cin 和 cout 進行重定向。
1 #include <iostream> //cin、cout 2 #include <string> //string 3 #include <stdio.h> //freopen 4 using namespace std; 5 int main() 6 { 7 string name; 8 9 //將標准輸入流重定向到 hello.in 文件 10 freopen("hello.in", "r", stdin); 11 cin >> name; 12 13 //將標准輸出重定向到 hello.out文件 14 freopen("hello.out", "w", stdout); 15 cout << name << endl; 16 17 return 0; 18 }
擴展知識
輸入設備(Input Device):是向計算機輸入數據和信息的設備。輸入設備的任務是把數據、指令及某些標志信息等輸送到計算機中去。常見的輸出設備有鍵盤、鼠標、攝像頭、掃描儀、手寫輸入板、游戲桿、語音輸入裝置等設備。
輸出設備(Output Device):是把計算或處理的結果或中間結果以人能識別的各種形式,如數字、符號、字母等表示出來。常見輸出設備有顯示器、打印機、繪圖儀、影像輸出系統、語音輸出系統等設備。
C++語言與C語言的關系:C語言是面向過程的語言。C++語言是在C語言的基礎上,進行擴充,並增加了面向對象的特性,C++是面向對象語言。C++是完全兼容C語言的,因此C語言中的函數在C++中均可以使用。