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 ...