c語言如何向檔案中輸入字串,c語言如何向一個檔案中輸入字串

2021-12-23 04:12:21 字數 6033 閱讀 9074

1樓:匿名使用者

1.通過fopen開啟檔案,fputs像檔案寫入資料,fclose關閉檔案。

#include

int main()

2.file *fopen( const char *fname, const char *mode );

fopen()函式開啟由fname(檔名)指定的檔案, 並返回一個關聯該檔案的流.如果發生錯誤, fopen()返回null.

mode(方式)是用於決定檔案的用途(例如 用於輸入,輸出,等等)

mode(方式)

意義"r"開啟一個用於讀取的文字檔案

"w"建立一個用於寫入的文字檔案

"rb"

開啟一個用於讀取的二進位制檔案

"wb"

建立一個用於寫入的二進位制檔案

"ab"

附加到一個二進位制檔案

"r+"

開啟一個用於讀/寫的文字檔案

"w+"

建立一個用於讀/寫的文字檔案

"a+"

開啟一個用於讀/寫的文字檔案

"rb+"

開啟一個用於讀/寫的二進位制檔案

"wb+"

建立一個用於讀/寫的二進位制檔案

"ab+"

開啟一個用於讀/寫的二進位制檔案

3.int fputs( const char *str, file *stream );

fputs()函式把str(字串)指向的字元寫到給出的輸出流. 成功時返回非負值, 失敗時返回eof.

4.int fclose( file *stream );

函式fclose()關閉給出的檔案流, 釋放已關聯到流的所有緩衝區. fclose()執行成功時返回0,否則返回eof.

2樓:匿名使用者

用檔案指標以w或者a方式開啟檔案,再用fprintf函式,像用printf函式輸出字串一樣用就能達到你的目標了。

3樓:曾全

char str[100];

file *fp =null;

fp = fopen(...);

fprintf(fp,"%s",str);

c語言中如何輸入輸出字串

4樓:桃絮飄飄

在c語言中,輸入輸出字串有以下兩種方式:

1 用scanf/printf輸入輸出。

scanf/printf是c語言的格式化輸入輸出函式,可以用於輸入輸出各種基礎型別,字串(char*)也

其支援範圍內。

格式化字元為%s。

定義char str[100];

輸入scanf("%s",str);

輸出printf("%s",str);

2 c語言還支援專門的字串輸入輸出函式:gets/puts。

gets的作用為,讀入一行輸入,並將讀到的換行符替換為字串結束符。

puts的作用為,將字串單行輸出,即輸出字串內容後,會自動在結尾增加換行。

定義char str[100];

輸入gets(str);

輸出puts(str);

擴充套件資料:

起初,c語言沒有官方標準。2023年由美國**電報公司(at&t)貝爾實驗室正式發表了c語言。布萊恩·柯林漢(brian kernighan) 和 丹尼斯·裡奇(dennis ritchie) 出版了一本書,名叫《the c programming language》。

這本書被 c語言開發者們稱為k&r,很多年來被當作 c語言的非正式的標準說明。人們稱這個版本的 c語言為k&r c。

k&r c主要介紹了以下特色:

結構體(struct)型別

長整數(long int)型別

無符號整數(unsigned int)型別

把運算子=+和=-改為+=和-=。因為=+和=-會使得編譯器不知道使用者要處理i = -10還是i =- 10,使得處理上產生混淆。

即使在後來ansi c標準被提出的許多年後,k&r c仍然是許多編譯器的最 準要求,許多老舊的編譯器仍然執行k&r c的標準。

1970到80年代,c語言被廣泛應用,從大型主機到小型微機,也衍生了c語言的很多不同版本。

2023年,美國國家標準協會(ansi)成立了一個委員會x3j11,來制定 c語言標準。

2023年,美國國家標準協會(ansi)通過了c語言標準,被稱為ansi x3.159-1989 "programming language c"。因為這個標準是2023年通過的,所以一般簡稱c89標準。

有些人也簡稱ansi c,因為這個標準是美國國家標準協會(ansi)釋出的。

2023年,國際標準化組織(iso)和國際電工委員會(iec)把c89標準定為c語言的國際標準,命名為iso/iec 9899:1990 - programming languages -- c  。

因為此標準是在2023年釋出的,所以有些人把簡稱作c90標準。不過大多數人依然稱之為c89標準,因為此標準與ansi c89標準完全等同。

2023年,國際標準化組織(iso)和國際電工委員會(iec)釋出了c89標準修訂版,名叫iso/iec 9899:1990/cor 1:1994,有些人簡稱為c94標準。

2023年,國際標準化組織(iso)和國際電工委員會(iec)再次釋出了c89標準修訂版,名叫iso/iec 9899:1990/amd 1:1995 - c integrity [7]  ,有些人簡稱為c95標準。

5樓:丿

在標頭檔案中用字串處理函式輸入和輸出,gest用來輸入,puts用來輸出。

字串輸入函式gets,從鍵盤鍵入以回車結束的字串放入字元陣列中,並自動加』\0'。輸入串長度應小於字元陣列維數,字串中可以包含空格。

字串輸出函式puts,向顯示器輸出字串(輸出完,自動換行,即用'\n'替'\0')。字元陣列必須以'\0'結束。

示例**如下:

#include

int main()

char str[40];

printf("請輸入字串");

gets(str);

printf("請輸出字串");

puts(str);

system("pause");

return 0;

擴充套件資料

在c中,對檔案的操作分為兩種方式,即流式檔案操作和i/o檔案操作。

流式檔案操作,這種方式的檔案操作有一個重要的結構file,file在標頭檔案stdio.h中定義如下:

typedef struct file; /* this is the file object */

直接i/o檔案操作,這是c提供的另一種檔案操作,它是通過直接存/取檔案來完成對檔案的處理,此類檔案操作常用的函式及其所用的一些符號在io.h和 fcntl.h中定義,在使用時要加入相應的標頭檔案。

6樓:八零後電影院

1、字串陣列輸入輸出字串:

char s1="array";  //字元陣列

char s2[6]="array";  //陣列長度=字串長度+1

printf("%s,%c\n",s1,s2[2]);

2、字串指標輸入輸出字串:

char *sp="pointer";  //字元指標

printf("%s,%c,%c\n",sp,*sp,*(sp+2));

3、指標和scanf函式共同輸入輸出字串:

char s1[6];

scanf("%s\n",s1);

printf("%s,%c\n",s1,s1[2]);

4、指標+陣列+scanf 輸入輸出字串:

char str[60], *sp=str;//將陣列的首地址str賦給指標變數spscanf("%s\n",sp);

printf("%s,%c,%c\n",sp,*sp,*(sp+3));

printf("%s,%c,%c\n",str,str[0],str[3]);

c語言字串及基本構成:

1、陣列:如果一個變數名後面跟著一個有數字的中括號,這個宣告就是陣列宣告。字串也是一種陣列。

它們以ascii的null作為陣列的結束。要特別注意的是,方括內的索引值是從0算起的。

2、指標:如果一個變數宣告時在前面使用 * 號,表明這是個指標型變數。換句話說,該變數儲存一個地址,而 *(此處特指單目運算子 * ,下同。

c語言中另有 雙目運算子 *) 則是取內容操作符,意思是取這個記憶體地址裡儲存的內容。指標是 c 語言區別於其他同時代高階語言的主要特徵之一。

3、字串:c語言的字串其實就是以'\0'字元結尾的char型陣列,使用字元型並不需要引用庫,但是使用字串就需要c標準庫裡面的一些用於對字串進行操作的函式。它們不同於字元陣列。

使用這些函式需要引用標頭檔案。

7樓:匿名使用者

在c語言中,輸出字串的函式有兩個:

puts():直接輸出字串,並且只能輸出字串。

printf():通過格式控制符 %s 輸出字串。除了字串,printf() 還能輸出其他型別的資料。

這裡不妨再演示一下,請看下面的**:

printf("%s\n", str);  //通過變數輸出

直接輸出

puts(str);  //通過變數輸出

直接輸出

return 0;

執行結果:

在 printf() 函式中使用%s

輸出字串時,在變數列表中給出陣列名即可,不能寫為printf("%s", str);字串的輸入

在c語言中,輸入字串的函式有兩個:

scanf():通過格式控制符 %s 輸入字串。除了字串,scanf() 還能輸入其他型別的資料。

gets():直接輸入字串,並且只能輸入字串。

擴充套件資料

函式應用

1. 連線運算 concat(s1,s2,s3…sn) 相當於s1+s2+s3+…+sn.

例:concat(『11』,'aa』)='11aa』;

2. 求子串。 copy(s,i,i) 從字串s中擷取第i個字元開始後的長度為l的子串。

例:copy(『abdag』,2,3)=』bda』

3. 刪除子串。過程 delete(s,i,l) 從字串s中刪除第i個字元開始後的長度為l的子串。

例:s:=』abcde』;delete(s,2,3);結果s:=』ae』

4. 插入子串。 過程insert(s1,s2,i) 把s1插入到s2的第i個位置

例:s:=abc;insert(『12』,s,2);結果s:=』a12bc』

5. 求字串長度 length(s) 例:length(『12abc』)=5

在asp中 求字串長度用 len(s)例: len("abc12")=5

6. 搜尋子串的位置 pos(s1,s2) 如果s1是s2的子串 ,則返回s1的第一個字元在s2中的位置,若不是子串,則返回0.

例:pos(『ab』,』12abcd』)=3

7. 字元的大寫轉換。upcase(ch) 求字元ch的大寫體。

例:upcase(『a』)=』a』

8. 數值轉換為數串。 過程 str(x,s) 把數值x化為數串s.

例:str(12345,s); 結果s=』12345』

9. 數串轉換為數值。 過程val(s,x,i) 把數串s轉化為數值x,如果成功則i=0,不成功則i為無效字元的序數,第三個引數也可不傳

例:val(『1234』,x,i);結果 x:=1234

c語言字串長度如何數,C語言字串長度如何數?

1 首先開啟vs2014,新建一個專案。2 然後我們根據圖示 新建一個main函式。3 然後我們根據圖示 新增標頭檔案。4 然後我們根據圖示 新增main函式。5 然後我們根據圖示 定義int變數len。6 然後我們根據圖示 定義char型別變數str。7 然後我們根據圖示 使用scanf給str賦...

c語言如何求字串長度,c語言 計算字串長度

你的 出現問題的原因是scanf s a a是一個char型別的變數,系統為它分配了一個位元組的記憶體空間,但是你卻輸入了一個字串到以a的地址為首地址的一段連續的記憶體空間裡,這樣就出現了越界錯誤.但是printf函式並不檢查越界錯誤,它會按正常的方法執行,然後程式統計出長度,列印出來結果.但是返回...

c語言字串輸入輸出問題,一個C語言字串輸入輸出問題

在你輸入int型別的n後同時輸入了一個換行符,這使a 0 n 而不是 a 所以說你的a字元型陣列存的其實是 nabcd e 則沒有讀入,可以考慮用scanf s a 來讀入,或在輸入字元前用getchar 把換行符讀掉 那是鍵盤緩衝區殘餘資訊的問題 include int main while c ...