c語言檔案操作相關
關於fscanf函式的用法
_Check_return_ _CRT_INSECURE_DEPRECATE(fscanf_s) _CRTIMP int __cdecl fscanf(_Inout_ FILE * _File, _In_z_ _Scanf_format_string_ const char * _Format, ...);
這是函式宣告,該函式有三個引數,第一個是檔案指標,第二個是格式如“%s %d...”這樣的,第三個是儲存這些從檔案讀取的資料的地址。具體這些可以去百度,接下來想講講我對這個的理解。
while (!feof(fp))
{
fscanf(fp, "%s %d", myp.myname, &myp.socer);
}
大家好奇為什麼這樣可以讀取檔案中的格式化字元。這是因為檔案指標會自動向下移動,每當我們讀取一行,檔案指標就會自動向下讀取一行。類似的有read函式。(具體專業術語可能有誤,希望大家指出)下面附上例子;
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct MyStruct
{
char myname[10];
int socer;
};
int main()
{
MyStruct myp;
FILE *fp = NULL;
fp = fopen("d:/data.txt", "a+");
while (!feof(fp))
{
fscanf(fp, "%s %d\n", myp.myname, &myp.socer);
printf("%s %d\n", myp.myname, myp.socer);
}
printf("%s %d\n", myp.myname, myp.socer);
fclose(fp);
system("pause");
return 0;
}
細心的同學可能發現我的例子裡用的和前面寫的fscanf(),有點不一樣
fscanf(fp,"%s %d",myp.myname, &myp.socer);
fscanf(fp,"%s %d\n",myp.myname, &myp.socer);
這兩個都可以工作。 說了這麼多,只是想表達這個檔案指標會自動的向下移動,可能你早已經知道。
首先你要在d盤建立data.txt
內容類似這樣
張三 100
李四 99
王二 60
相關文章
- C語言檔案操作C語言
- C語言(檔案操作)C語言
- C語言關於檔案操作的命令C語言
- C語言關於標頭檔案的使用C語言
- C語言(檔案加解密)C語言解密
- C語言-檔案讀寫C語言
- 重做日誌檔案的相關操作
- 用c語言處理檔案C語言
- C語言 檔案IO的使用C語言
- c語言多檔案編譯C語言編譯
- c語言拷貝檔案程式C語言
- C語言實現檔案加密C語言加密
- C語言 - 標頭檔案包含C語言
- C語言之標準檔案操作C語言
- C語言/C++讀取檔案資訊C語言C++
- C語言相關的基礎字串函式C語言字串函式
- 資料結構C語言|佇列相關資料結構C語言佇列
- C語言位操作C語言
- C語言檔案與目錄(五)檔案鎖C語言
- C語言判斷檔案存在和建立檔案C語言
- 語言相關的OOD
- Dart 語言標準流與檔案操作Dart
- Golang語言檔案操作快速入門篇Golang
- 獲得檔案的大小(c語言)C語言
- C語言檔案與目錄(一)C語言
- C語言檔案與目錄(二)C語言
- C語言檔案與目錄(三)C語言
- C語言檔案輸入和輸出操作的學習心得(一)C語言
- C語言關於多原始檔的呼叫C語言
- C語言-指標操作C語言指標
- 開發工具類-簡單檔案操作相關
- C語言標頭檔案#include的作用C語言
- C檔案操作
- Oracle 資料庫常見檔案及相關操作Oracle資料庫
- 【C語言】linux下多檔案編譯C語言Linux編譯
- C語言基礎及指標⑧檔案IOC語言指標
- C語言unlink()函式:刪除檔案C語言函式
- C語言標頭檔案的使用(轉載)C語言