Ⅰ c語言程序設計 簡單的讀取文件並整理數據
首先還是先完整的學習一下文件打的所有方式。
文件的打開方式是由r,w,a,t,b,+,六個字元組成。如下:
「r」 只讀打開文件,如果文件不存在,返回一個錯誤.
「r+」 可讀寫打開文件,如果文件不存在,返回錯誤.
「w」 只寫打開文件,如果文件不存在,則創建一個新的文件,如果已經存在,將裡面的內容清空.
「w+」 可讀寫打開文件,如果文件不存在,創建新文件,如果已經存在,清空文件中的內容.
「a」 以追加寫入的方式打開文件(在文件未尾追加寫入數據) ,如果文件不存在,創建新文件.
「a+」 以可讀取並且可追加寫入的方式打開文件,如果不存在,創建新文件.
如果要指定打開文本文件,則在打開方式中加入』 t 『 字元.如果是二進制文件,則加入』 b 『 字元. 如下:
1
"rt" "rt+" "r+t" "rb" "rb+" "r+b"
當以追加方式打開文件時,文件的數據偏移指針會指向文件的最未尾,如果此時從文件讀入數據,可能會失敗,都已經文件未尾了,還有什麼數據要讀的?所以追加方式打開時,不要第一時間讀入數據.
注意: 如果想打開文件後,先讀取數據,然後再寫入,請不要用」w+」的方式,因為」w」方式會把已存在的文件的數據清空,所以會發生讀取錯誤.
基於上面介紹,我們這章要從一個文本文件中讀取數據,所以使用下面代碼打開文件:
1
2
3
4
FILE * fptr;
fptr = fopen( FILE_NAME , "rt" );
.....
fclose( fptr );
讀取文件的函數原型如下:
1
2
int fgetc( FILE* fstream);
char* fgets( char* buf , int n , FILE* fstream);
fgetc() 返回讀到的字元的ASCII碼.
在fgets()中,buf參數用來指定一個字元串指針來接收讀到的數據,參數n用來指定讀入的最大字元數.
fgets() 返回讀到的字元串指針.如果錯誤,返回NULL.
並且,我們可以用feof()函數來判斷是否已經讀到了文件的未尾.
1
int feof( FILE* fstream);
如果已經讀到文件未尾,feof()返回非0值(也就是TRUE值),如果沒有,返回0(FALSE);
學完了上面,我們現在准備一個data.txt文件,內容可以,也可以你喜歡的任何內容:
1
2
3
1234567890
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
請把data.txt文件與程序一起放在同一個文件夾,否則會有打開data.txt文件錯誤
然後編寫一個程序,代碼如下:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
本程序中涉及到的fputc() 和 fputs()函數在上一章已經作了介紹,可自行查閱.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define FILENAME "data.txt" //文件名
#define BUFSIZE 27 //緩存的大小為27位元組
int main( int argc , char* argv[])
{
FILE *fptr;
char buf[BUFSIZE];
char ch;
fptr = fopen( FILENAME , "r+t");
if ( fptr == NULL )
{
puts( "open file error");
exit(1);
}
do{
ch = fgetc( fptr);
fputc(ch , stdout);
}while( ch != 'n' );//如果讀到換行符,就退出循環.
while( ! feof( fptr) ){//如果讀到文件未尾,就退出循環.
memset ( buf , 0 , BUFSIZE);
fgets( buf , BUFSIZE -1 , fptr );
//之所以要限制讀入的數據長度為BUFSIZE-1,因為buf字元串的最後一個字元必須為'',防止被讀入的數據覆蓋.
fputs( buf , stdout);
}
fclose( fptr);
getchar();//程序暫停,按下回車鍵後繼續
return 0 ;
}
把代碼復制到編譯環境中編譯後,把執行程序放在與data.txt相同的文件夾,然後運行,就會看到效果了.
Ⅱ 用C語言編程中,一般的格式是怎樣的
C語言源程序的編程格式歸納如下:
1,一個C語言源程序必須有且只有一個MAIN函數.
2,函數名後必須緊跟圓括弧對,函數體放在右圓括弧")"後的花括弧對"{}"中.
3,每個程序體(包括函數的函數體,含有多條語句的選擇結構和循環結構中的語句序列)必須用一對花括弧括起來.
4,文件包含預處理命令,#INCLUDE<*.H>應置於源程序的開始位置.
5,語句未尾必須有分號,而預處理命令和函數首部的未尾及右花括弧之後不要分號.
6,同一字母大,小寫意義不同,關鍵字和標准庫函數名必須用小寫.
7,變數必須先定義,後使用
8,除已有明顯間隔符外,標識符,關鍵字之間必須有至少一個空格
9,註解必須包含在"/*
*/符號之間
Ⅲ C語言中對齊鍵的快捷鍵是什麼我看見老實把程序選中,按了什麼鍵就自動按級別對齊了,十分工整。
格式化的快捷鍵是 alt + f8 只針對選擇的部分.
Ⅳ 大神,問一下,就是c語言中,怎樣能讓輸出的程序格式規整,就是輸出時每五個自動換行。求大神賜教
有一段代碼可以處理,通過判斷循環變數的值,做取余操作
for(i=1;i<=...;i++){
...
if(i%5==0)printf(" ");//當除以5餘數等於0的情況下換行
}
Ⅳ 用C語言編寫程序的格式和方法
#include<stdio.h>
int
main()
{
char
i;
------------
------------
return
0;
}
-------------------輸入輸出頭文件不能缺少、否則不能調用輸入輸出函數、還有其他函數
--------------------要有main函數、可以是void
main
沒有返回值的
也可以是int
main
但是返回值是return
0;
Ⅵ C語言中怎樣將寫好的源程序變成exe格式
編譯
F5
使用Turbo
C來調試C程序的示例:
1、首先打開turboc,方法很簡單啦:找到turboc所在目錄,然後雙擊TC.exe。
2、然後會出現一個窗口,使用Alt+F組合鍵打開菜單選擇New選項回車新建文件
3、然後輸入c語言源程序(這里特別注意要細心,千萬不要輸錯了)
4、好當很長很長的源程序輸入完以後(雖然很多同學剛剛接觸c語言,還不知道自己輸了半天輸的是什麼)接一下檢查一下自己輸入的程序是否語法正確,然後使用Alt+R組合鍵打開菜單選擇Run選項回車,也就是運行選項(主要是看看輸了半天的程序在計算機當中運行是個什麼東東)
5、好像沒有什麼表示嗎,不要著急不是計算機出了問題,這個時候用Alt+R組合鍵選擇User
Scren選項回車
6、怎麼樣是不是有結果了.
7、好一個程序調試完畢我們需要保存一下我們辛苦勞動的結果,用Alt+F組合鍵選擇Save選項回車保存我們的程序(注意保存的目錄和文件名,文件名要以擴展名.c結尾)
Ⅶ 要求用C語言設計文檔整理程序,可按語法對英文文本文件內容進行整理,並可對整理後文檔加密。
這個我不會。給文件加密,你可以在網路上下載超級加密3000 這是一款功能強大的文件和文件夾加密和保護軟體。
超級加密3000有超快和最強的文件、文件夾加密功能、數據保護功能,文件夾、文件的粉碎刪除以及文件夾偽裝等功能。
超級加密 3000採用先進的加密演算法,使你的文件和文件夾加密後,真正的達到超高的加密強度,讓你的加密數據無懈可擊。
超級加密3000還支持加密文件的臨時解密,文件加密後,雙擊加密文件,在彈出密碼輸入對話框輸入正確的密碼選擇確定,該加密文件就處於臨時解密,文件使用完畢退出以後,它自動恢復到加密狀態,無需再加密。
超級加密3000是一款不可多得的文件加密軟體,您可以到網路上搜索超級加密3000給您的文件加密試試看。