C++ 文件流操作
#include<stdio.h> #include <iostream> #include <fstream> using namespace std; int main() { ifstream infile; //以读模式打开文件 infile.open("C:/123.txt"); //打开文件操作 char key_data[100]; //定义一个字符串缓冲区 infile >> key_data; //将读取的文件存放到缓冲区中 infile.close(); //关闭文件 ofstream outfile; //以写模式打开文件 outfile.open("C:/License.ini"); //打开文件 char config_title[100] = "[License]"; char config_date[100] = "Key="; strcat(config_date, key_data); //字符串拼接 outfile << config_title << endl; //写入文件 outfile << config_date; //写入文件 outfile.close(); //关闭文件 return 0; }
//例子二,从键盘输入两行文字,然后写到一个文件中,最后复制一份文件,比如A.txt 复制的就是B.txt,
#include <iostream> #include <fstream> #include <windows.h> using namespace std; int main() { fstream outfile; //定义一个文件流 fstream outfilecopy; outfile.open("WriteFile.txt",ios::in|ios::out|ios::app); //以追加的方式读写文件 char buf[2][1024]; //定义一个二维数组存放字符串 cin >> buf[0]; //输入两行字符串 cin >> buf[1]; for (int i = 0; i < 2; i++) //将字符串按行输入到文件中 { outfile << buf[i] << endl; } outfile.close(); //关闭文件 outfile.open("WriteFile.txt", ios::in ); //以只读方式打开文件 outfilecopy.open("WriteFilecopy.txt", ios::out); //以写入方式打开文件 char buf1[2][1024]; //定义一个二维数组用于接收读取的文件 while (!outfile.eof()) //判断文件是否到末尾 { for (int i = 0; i <2; i++) //外循环,表示循环的二维数组的个数 { for (int j = 0; j < 1024; j++) //内循环,判断字符是否到达末尾, { buf1[i][j] = outfile.get(); if (buf1[i][j] == '\n') //找到一行的换行符并将最后一个字符置位\0 { buf1[i][j + 1] = '\0'; outfilecopy << buf[i] << endl; //一行字符串已经遍历完毕,写到复制的文件夹中并结束循环 break; } } } } outfile.close(); //关闭文件 outfilecopy.close(); return 0; }