編譯中輸入和輸出各是什麼
1. 對編譯程序而言,輸入數據是(),輸出數據是()
為什麼這行老是報錯,我在vc6.0編譯,下面的很多句也是一樣報錯!!!
編寫input()和output()函數輸入,輸出5個學生的數據記錄。
1.程序分析:
2. 語言學習當中輸入和輸出指的是什麼
輸入和輸出是數據傳送的過程,數據如流水一樣從一處流向另一處。C++形象地將此過程稱為流;
在C++中輸入輸出流被定義為類。c++的I/O庫中稱為流類(sreame class)用流類定義的對象為流對象;
比如 cout和cin並不是C++語句,它們是iostream類的對象;
而「<<」「>>」本來在C++中是左右位移運算符,由於在 iostream頭文件對它們進行了重載使他們能用做標准輸入輸出運算符。所以在用它們的時候程序中必須有 #include<iostream>;
現在 估計你應該可以對「cout<<」"cin>>"有些理解了吧~
3. java編譯器的輸入和輸出是什麼
輸入是.java文件和編譯參數,輸出是.class文件
4. java編譯器的輸入輸出是什麼
不知道你指的是控制台輸入輸出,還是文件輸入輸出呢?控制台的輸出可以直接使用System.out.println(),如果是文件輸入輸出就要用輸入輸出流來進行輸入了,自己往程序中輸入內容,可以用系統封裝好的類,也可以自己用輸入輸出流構建。
5. 什麼是輸入和輸出 和其在編程中的作用
輸入指計算機從輸入入設備(通常就指鍵盤,還有其他的),獲得數據供程序運算和處理,輸出指計算機按照你程序給出的信息。他們在編程中起了計算機與人的互交作用。
6. 一個c++編譯器的輸入輸出是什麼
c語言使用scanf()函數輸入,printf()函數輸出
使用gets( )函數輸入字元串,puts()函數輸出字元串
使用getchar()函數接受單個字元,putchar()函數輸出單個字元
c++使用cin輸入,cout輸出。
7. 在C++中的輸入 和輸出 到底是什麼意思啊 請了解的人舉例詳細解釋一下。
C++的輸入與輸出包括以下3方面的內容:
1、對系統指定的標准設備的輸入和輸出。即從鍵盤輸入數據,輸出到顯示器屏幕。
2、以外存磁碟(或光碟)文件為對象進行輸入和輸出,例如從磁碟文件輸入數據,數據輸出到磁碟文件。
3、對內存中指定的空間進行輸入和輸出。
在輸入操作時,位元組流從輸入設備(如鍵盤、磁碟)流向內存,在輸出操作時,位元組流從內存流向輸出設備(如屏幕。列印機、磁碟等)。流中的內容可以是ASCII字元、二進制形式的數據、圖形圖像、數字音頻視頻或其他形式的信息。
8. C++文件的輸入和輸出
C++中的文件輸入/輸出(1):
你的第一個程序
首先我將給出一段代碼,接著再逐行進行解釋。我們的第一個程序將建立一個文件,並寫入一些字元:
#include <iostrream.h>
#include <fstream.h>
void main() // 程序從這里開始運行
{
ofstream SaveFile(「cpp-home.txt」);
SaveFile << 「Hello World!」;
SaveFile.close();
}
這個程序將在當前運行目錄下建立一個名為cpp-home.txt的文件,並向它寫入「Hello World!」。
下面給出各行的含義:
#include —— 你需要包含此文件以使用C++的文件輸入/輸出函數。注意:一旦包含了這個文件,你不再需要(為了使用cout/cin)包含iostream.h,因為fstream.h已經自動包含了它。
在這個頭文件中聲明了若干個類,包括ifstream,ofstream及fstream,它們都繼承自istream和ostream類。
ofstream SaveFile(「cpp-home.txt」);
1)ofstream即「output file stream(輸出文件流)」。它將建立一個句柄(handle),以便我們以後能以一個文件流的形式寫入文件。
2)SaveFile —— 這是文件句柄的名字,當然,你還可以換用任何一個你想要的名稱。
3)(「cpp-home.txt」); —— 打開名為cpp-home.txt的文件。如果程序運行的當前目錄已經存在這樣一個文件,則它將被替換掉;萬一不存在,程序也會為你創建一個為文件,你不必為此而擔心。
ofstream是一個類。因此ofstream SaveFile(「cpp-home.txt」);這一語句將創建一個該類的對象;而我們在括弧中所傳遞的參數實際上將傳給構造函數:在這里我們將我們要建立的文件的名稱作為實際參數傳遞給了該類的構造函數。當然,我們還可以傳遞其它的一些信息,不過我以後再對其進行講解。
SaveFile << 「Hello World!」; —— 「<<」這是一個預定義好的運算符。這行語句所做的,是將上面的那段文本寫入文件。SaveFile是一個文件句柄,它關聯一個打開的流式文件。所以,我們只須輸入句柄名,再跟著輸入「<<」,然後接著寫下一串用引號括起來的文本,就可以實現對文件的寫入。如果我們想寫入的是某個變數的值而不是帶引號的文本,也只須像通常使用cout << 一樣將變數傳遞給句柄對象,像這樣:
SaveFile << variablename;
就可以了!
SaveFile.close(); —— 既然我們打開了一個流文件,那麼當我們用完它之後,就必須關閉它。SaveFile是ofstream類的一個對象,而該類(ofstream)有一個用於關閉文件的成員函數,即close() 函數。因此,我們只要依次輸入文件句柄名,點號和close(),就可以關閉該文件!
注意:一旦你關閉文件,在你重新打開它以前,就再不能對它進行訪問。
以上就是一個可以寫文件的最簡單程序。的確很容易!不過,正如你即將在以後部分的教程中所看到的,還有更多的東西要學呢!
C++中的文件輸入/輸出(2):讀取文件
讀取文件
你已經看到了應該如何寫文件。現在,當我們已經得到cpp-home.txt文件時,我們將要讀取它,並且將內容列印在屏幕上。
首先,我要指出的是,有很多種方法可以讀取文件。以後我會向你們介紹所有的方法(就我所知的)。此刻,我先向你展示最佳的方法(我認為的)。
正如你已經熟悉的——我將首先給出一段程序代碼,然後,我會詳細地對它進行解釋說明:
#include
void main() //程序從這里開始
{
ifstream OpenFile("cpp-home.txt");
char ch;
while(!OpenFile.eof())
{
OpenFile.get(ch);
cout << ch;
}
OpenFile.close();
}
你想必已經了解首行的意義所在,而剩下的部分將由我為你解釋。
ifstream OpenFile(「cpp-home.txt」) —— 我猜它對現在的你而言多少會熟悉些!ifstream表示「input file stream(輸入文件流)」。在前一節的程序中,出現的則是ofstream,它的意義是「output file stream(輸出文件流)」。前一節的程序是進行文件的寫操作,這就是它用「output(輸出)」來表示的原因。而本節的程序則是讀取一個文件,這就是它用「input(輸入)」來表示的原因。這一行剩下的代碼於你而言應當是熟悉的了:OpenFile是ifstream類的一個對象,它將關聯一個輸入文件流;而用引號括住的內容,就是將要打開的文件的名稱。
請注意:這里沒有對要打開的文件是否存在進行測試!以後我將向你指出如何進行檢測。
char ch; —— 聲明一個字元數組(array of type char)。只是有一點要提醒你:這樣的數組(arrays)只能存儲一個ASCII字元。
while(!OpenFile.eof()) —— 如果已經到達文件末尾,eof( )函數將返回一個非零值。因此我們所設計的這個循環將一直持續,直至我們的文件操作到達文件末尾。這樣我們就可以遍歷整個文件,以便對它進行讀取。
OpenFile.get(ch); —— OpenFile是類ifstream的一個對象。該類聲明了一個名為get( )的成員函數。只要我們擁有該對象,我們自然就可以調用這個函數。get( )函數從相應的流文件中讀出一個字元,並將其返回給變數。在本例中,get( )函數只帶一個參數——用於存儲所讀取的字元的變數。所以,調用OpenFile.get(ch)後程序將會從OpenFile流中讀取一個字元並存入變數ch中。
注意:如果你再次調用該函數,它將讀取下一個字元,而不是原來的那一個!你過後將理解為什麼會這樣。
這就是我們要不斷反復循環直至讀操作到達文件尾的原因。每循環一次,我們將讀出一個字元並將它保存在ch中。
cout << ch; —— 顯示ch變數值,它保存了讀取得到的字元。
File.close(); —— 我們打開了一個流式文件,就需要關閉它。使用close()函數即可將它關閉,這和前一節的一樣!
注意:一旦你關閉了一個文件,在你重新打開它之前,你不能再對它進行訪問。
大功告成了!我希望你能明白我的解釋。當你編譯並運行這個程序的時候,它應當會輸出:
「Hello World!」
C++中的文件輸入/輸出(3):掌握輸入/輸出流
掌握輸入/輸出流
在這一章里,我會提及一些有用的函數。我將為你演示如何打開一個可以同時進行讀、寫操作的文件;此外,我還將為你介紹其它打開文件的方法,以及如何判斷打開操作是否成功。因此,請接著往下讀!
到目前為止,我已為你所展示的只是單一的打開文件的途徑:要麼為讀取而打開,要麼為寫入而打開。但文件還可以以其它方式打開。迄今,你應當已經認識了下面的方法:
ifstream OpenFile(「cpp-home.txt」);
噢,這可不是唯一的方法!正如以前所提到的,以上的代碼創建一個類ifstream的對象,並將文件的名字傳遞給它的構造函數。但實際上,還存在有不少的重載的構造函數,它們可以接受不止一個的參數。同時,還有一個open()函數可以做同樣的事情。下面是一個以上代碼的示例,但它使用了open()函數:
ifstream OpenFile;
OpenFile.open(「cpp-home.txt」);
你會問:它們之間有什麼區別嗎?哦,我曾做了不少測試,結論是沒有區別!只不過如果你要創建一個文件句柄但不想立刻給它指定一個文件名,那麼你可以使用 open()函數過後進行指定。順便再給出一個要使用open()函數的例子:如果你打開一個文件,然後關閉了它,又打算用同一個文件句柄打開另一個文件,這樣一來,你將需要使用open()函數。
考慮以下的代碼示例:
#include
void read(ifstream &T) //pass the file stream to the function
{
//the method to read a file, that I showed you before
char ch;
while(!T.eof())
{
T.get(ch);
cout << ch;
}
cout << endl << "--------" << endl;
}
void main()
{
ifstream T("file1.txt");
read(T);
T.close();
T.open("file2.txt");
read(T);
T.close();
}
據此,只要file1.txt和file2.txt並存儲了文本內容,你將看到這些內容。
現在,該向你演示的是,文件名並不是你唯一可以向open()函數或者構造函數(其實都一樣)傳遞的參數。下面是一個函數原型:
ifstream OpenFile(char *filename, int open_mode);
你應當知道filename表示文件的名稱(一個字元串),而新出現的則是open_mode(打開模式)。open_mode的值用來定義以怎樣的方式打開文件。下面是打開模式的列表:
名稱
描述
ios::in
打開一個可讀取文件
ios::out
打開一個可寫入文件
ios::app
你寫入的所有數據將被追加到文件的末尾,此方式使用ios::out
ios::ate
你寫入的所有數據將被追加到文件的末尾,此方式不使用ios::out
ios::trunk
刪除文件原來已存在的內容(清空文件)
ios::nocreate
如果要打開的文件並不存在,那麼以此參數調用open()函數將無法進行。
ios::noreplace
如果要打開的文件已存在,試圖用open()函數打開時將返回一個錯誤。
ios::binary
以二進制的形式打開一個文件。
實際上,以上的值都屬於一個枚舉類型的int常量。但為了讓你的編程生涯不至於太痛苦,你可以像上表所見的那樣使用那些名稱。
下面是一個關於如何使用打開模式的例子:
#include
void main()
{
ofstream SaveFile("file1.txt", ios::ate);
SaveFile << "That's new!\n";
SaveFile.close();
}
正如你在表中所看到的:使用ios::ate將會從文件的末尾開始執行寫入。如果我沒有使用它,原來的文件內容將會被重新寫入的內容覆蓋掉。不過既然我已經使用了它,那麼我只會在原文件的末尾進行添加。所以,如果file1.txt原有的內容是這樣:
Hi! This is test from www.cpp-home.com!
那麼執行上面的代碼後,程序將會為它添上「That』s new!」,因此它看起來將變成這樣:
Hi! This is test from www.cpp-home.com!That』s new!
假如你打算設置不止一個的打開模式標志,只須使用OR操作符或者是 | ,像這樣:
ios::ate | ios::binary
我希望現在你已經明白「打開模式」是什麼意思了!
現在,是時候向你展示一些真正有用的東西了!我敢打賭你現在還不知道應當怎樣打開一個可以同時進行讀取和寫入操作的文件!下面就是實現的方法:
fstream File(「cpp-home.txt」,ios::in | ios::out);
實際上,這只是一個聲明語句。我將在下面數行之後給你一個代碼示例。但此時我首先想提及一些你應當知道的內容。
上面的代碼創建了一個名為「File」的流式文件的句柄。如你所知,它是fstream類的一個對象。當使用fstream時,你應當指定ios:: in和ios::out作為文件的打開模式。這樣,你就可以同時對文件進行讀、寫,而無須創建新的文件句柄。噢,當然,你也可以只進行讀或者寫的操作。那樣的話,相應地你應當只使用ios::in或者只使用ios::out —— 要思考的問題是:如果你打算這么做,為什麼你不分別用ifstream及ofstream來實現呢?
下面就先給出示例代碼:
#include
void main()
{
fstream File("test.txt",ios::in | ios::out);
File << "Hi!"; //將「Hi!」寫入文件
static char str[10]; //當使用static時,數組會自動被初始化
//即是被清空為零
File.seekg(ios::beg); // 回到文件首部
// 此函數將在後面解釋
File >> str;
cout << str << endl;
File.close();
}
OK,這兒又有一些新東西,所以我將逐行進行解釋:
fstream File(「test.txt」, ios::in | ios::out); —— 此行創建一個fstream對象,執行時將會以讀/寫方式打開test.txt文件。這意味著你可以同時讀取文件並寫入數據。
File << 「Hi!」; —— 我打賭你已經知道它的意思了。
static char str[10]; —— 這將創建一個容量為10的字元數組。我猜static對你而言或者有些陌生,如果這樣就忽略它。這只不過會在創建數組的同時對其進行初始化。
File.seekg(ios::beg); —— OK,我要讓你明白它究竟會做些什麼,因此我將以一些有點兒離題、但挺重要的內容開始我的解釋。
還記得它么:
while(!OpenFile.eof())
{
OpenFile.get(ch);
cout << ch;
}
你是不是曾經很想知道那背後真正執行了什麼操作?不管是或不是,我都將為你解釋。這是一個while型循環,它會一直反復,直至程序的操作到達文件的尾端。但這個循環如何知道是否已經到了文件末尾?嗯,當你讀文件的時候,會有一個類似於「內置指針(inside-pointer)」的東西,它表明你讀取(寫入也一樣)已經到了文件的哪個位置,就像記事本中的游標。而每當你調用OpenFile.get(ch)的時候,它會返回當前位置的字元,存儲在ch 變數中,並將這一內置指針向前移動一個字元。因此下次該函數再被調用時,它將會返回下一個字元。而這一過程將不斷反復,直到讀取到達文件尾。所以,讓我們回到那行代碼:函數seekg()將把內置指針定位到指定的位置(依你決定)。你可以使用:
ios::beg —— 可將它移動到文件首端
ios::end —— 可將它移動到文件末端
或者,你可以設定向前或向後跳轉的字元數。例如,如果你要向定位到當前位置的5個字元以前,你應當寫:
File.seekg(-5);
如果你想向後跳過40個字元,則應當寫:
File.seekg(40);
同時,我必須指出,函數seekg()是被重載的,它也可以帶兩個參數。另一個版本是這樣子的:
File.
9. 對編譯程序而言,輸入數據是(),輸出數據是()
對編譯程序而言,輸入數據是(源程序),輸出數據是(目標程序)