Cách nhập/xuất file .TXT trong C

Để sử dụng đoạn code phía dưới ta chỉ cần copy dán vào file .cpp trong visual hoặc tải luôn file .cpp về.


1. Nhập/xuat file số nguyên .txt
#include "NguyenLeDangKhoa.h"

//Nhập 1 dòng từ FILE
void nhapSoNguyen(FILE* f, int& x) {
	fscanf(f, "\n%d", &x);
}

// Nhập toàn bộ FILE TXT
void nhapFile_songuyen(int s[], int& n, char* fileName) {
	FILE* f = fopen(fileName, "rt");
	fscanf(f, "%d", &n);
	for (int i = 0; i < n; i++){
		nhapSoNguyen(f, s[i]);
	}
	fclose(f);
}

//Xuất FILE TXT
void xuatArraySoNguyen(int s[], int n) {
	for (int i = 0; i < n; i++){
		printf("%d ", s[i]);
	}
}

//Xuất 1 dòng từ FILE
void xuatSoNguyen(FILE* f, int x) {
	fprintf(f, "%d ", x);
}

// Nhập toàn bộ FILE TXT
void xuatFileSoNguyen(int s[], int n, char* fileNameEx) {
	FILE* f = fopen(fileNameEx, "wt");
	for (int i = 0; i < n; i++){
		xuatSoNguyen(f, s[i]);
	}
	fclose(f);
}

int main() {
	int s[100];
	char soNguyen[20] = "data.txt";
	char xuatFileSn[20] = "soNguyen.txt";
	int n;
	nhapFile_songuyen(s, n, soNguyen);
	xuatFileSoNguyen(s, n, xuatFileSn);
	xuatArraySoNguyen(s, n);
}
2. Nhập/xuat file thông tin user .txt
#include "NguyenLeDangKhoa.h"

// Cấu trúc user
struct user{
	char name[40]; // Tên
	int year; // Năm sinh
};

//Nhập 1 dòng từ FILE
void nhapUser(FILE* f, user& s) {
	fscanf(f, "\n%[^,], %d", &s.name, &s.year);
}

// Nhập toàn bộ FILE TXT
void nhapDanhSachUser(user s[], int& n, char* fileName) {
	FILE* f = fopen(fileName, "rt");
	fscanf(f, "%d", &n);
	for (int i = 0; i < n; i++){
		nhapUser(f, s[i]);
	}
	fclose(f);
}

//Xuất FILE TXT
void xuatArrayUser(user s[], int n) {
	for (int i = 0; i < n; i++){
		printf("%s\t%d\n", s[i].name, s[i].year);
	}
}

//Xuất 1 dòng từ FILE
void xuatUser(FILE* f, user s) {
	fprintf(f, "%s %d\n", s.name, s.year);
}

// Nhập toàn bộ FILE TXT
void xuatFileDanhSachUser(user s[], int n, char* fileNameEx) {
	FILE* f = fopen(fileNameEx, "wt");
	for (int i = 0; i < n; i++){
		xuatUser(f, s[i]);
	}
	fclose(f);
}

int main() {
	user s[100];
	char dataUser[20] = "data.txt";
	char xuatFileUser[20] = "ds.txt";
	int n;
	nhapDanhSachUser(s, n, dataUser);
	xuatFileDanhSachUser(s, n, xuatFileUser);
	xuatArrayUser(s, n);
}

Đăng nhận xét

0 Nhận xét