日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C++/C文件读取

發布時間:2023/11/27 生活经验 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++/C文件读取 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、C++文件操作

  1. ofstream:寫操作
  2. ifstream: 讀操作
  3. fstream : 讀寫操作
打開方式解釋
ios::in為讀文件而打開文件
ios::out為寫文件而打開文件
ios::ate初始位置:文件尾
ios::app追加方式寫文件
ios::trunc如果文件存在先刪除,再創建
ios::binary二進制方式

1.1、寫文件

  1. 包含頭文件

    #include <fstream>

  2. 創建流對象

    ofstream ofs;

  3. 打開文件

    ofs.open(“文件路徑”,打開方式);

  4. 寫數據

    ofs << “寫入的數據”;

  5. 關閉文件

    ofs.close();

#include<fstream>
#include<iostream>
using namespace std;
int main()
{ofstream ofs;ofs.open("D:\\學習資料整理\\C++資料\\test.txt", ios::out|ios::app);ofs << "C++" << endl;ofs.close();
}

1.2、讀文件

  1. 包含頭文件

    #include <fstream>

  2. 創建流對象

    ifstream ifs;

  3. 打開文件并判斷文件是否打開成功

    ifs.open(“文件路徑”,打開方式);

  4. 讀數據

    讀取數據

  5. 關閉文件

    ifs.close();

#include<fstream>
#include<iostream>
#include<string>
using namespace std;
int main()
{ifstream ifs;ifs.open("D:\\學習資料整理\\C++資料\\test.txt", ios::in);if (!ifs.is_open()){cout << "文件打開失敗" << endl;}// 讀取一行數據string res;while (getline(ifs, res)){cout << res << endl;}
}

2、C文件操作

文件使用方式含義如果指定的文件不存在
r(只讀)輸入數據,打開一個已存在文本文件出錯
w(只寫)輸出數據,打開一個文本文件建立一個新文件
a(追加)向文本文件尾添加數據出錯
rb(只讀)輸入數據,打開一個2進制文件出錯
wb(只寫)輸出數據,打開一個2進制文件建立新文件
r+(讀寫)讀寫,文本文件出錯
w+(讀寫)讀寫,文本文件建立新文件
a+(讀寫)讀寫,文本文件出錯
rb+(讀寫)讀寫,二進制文件出錯
wb+(讀寫)讀寫,二進制文件建立新文件
ab+(讀寫)讀寫二進制文件出錯

C++不支持fopen等函數,改用fopen_s等,如果想改變的話:

右鍵工程名–>屬性–>C/C++–>預處理器–>預處理器定義,編輯右邊輸入框加入:
_CRT_SECURE_NO_WARNINGS

2.1、寫文件

2.1.1、fputs

#include<iostream>
#include<string>
using namespace std;
int main()
{FILE* file;string str = "python\n";// 在C++中,fopen已經不能使用// a+表示追加讀寫方式// fopen_s函數如果打開文件成功的話,返回0if (fopen_s(&file, "D:\\學習資料整理\\C++資料\\test.txt", "a+") != 0){cout << "文件打開失敗" << endl;}// 將string轉為char*fputs(str.c_str(), file);fclose(file);
}

2.1.2、fprintf_s

名稱引用方式
fprintf_sfprintf_s(文件指針,格式字符串)
#include<iostream>
#include<string>
using namespace std;
int main()
{FILE* file;if (fopen_s(&file, "D:\\學習資料整理\\C++資料\\test.txt", "a+") != 0){cout << "文件打開失敗" << endl;}string str = "C++\n";fprintf_s(file, str.c_str());return 0;
}

2.2、讀文件

2.2.1、fgets

逐行讀取文件

#include<iostream>
#include<string>
using namespace std;
int main()
{FILE* file;fopen_s(&file,"D:\\學習資料整理\\C++資料\\test.txt", "r+");if (file == NULL){cout << "文件不存在" << endl;return 0;}while (!feof(file)){char content[100];// 注意這里,使用fgets時,最后一行也會檢查,返回NULL// 如果不判斷的話,最后一行還會輸出一次if (fgets(content, 100, file) == NULL)break;cout << content << endl;}
}

2.2.2、fscanf

#include<iostream>
#include<string>
using namespace std;
int main()
{FILE* file;if (fopen_s(&file, "D:\\學習資料整理\\C++資料\\test.txt", "a+") != 0){cout << "文件打開失敗" << endl;}char str1[100];char str2[100];int num;// 將文件指針移到文件頭rewind(file);int counter = fscanf(file, "%s %s %d", str1, str2, &num);cout << str1 << "  " << str2 << "  " << num;
}

總結

以上是生活随笔為你收集整理的C++/C文件读取的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。