✨博客主页 | |
---|---|
何曾参静谧的博客 | |
📌文章专栏 | |
「UG/NX」BlockUI集合 | |
📚全部专栏 | |
「UG/NX」NX二次开发 | 「UG/NX」BlockUI集合 |
「VS」Visual Studio | 「QT」QT5程序设计 |
「C/C++」C/C++程序设计 | 「Win」Windows程序设计 |
「算法」数据结构与算法 | 「File」数据文件格式 |
术语介绍
TXT(Text)文件格式
是一种纯文本文件格式,广泛应用于各种计算机系统和软件中。它以简单的字符序列形式存储数据,不包含任何特定的格式或结构。TXT文件通常使用ASCII编码,每个字符都以其对应的ASCII码值表示。这使得TXT文件具有跨平台和可移植性的特点,因为ASCII编码是一种标准的字符编码方案。
优点:易于创建和编辑,无需特殊软件或工具。您可以使用任何文本编辑器,如记事本、Sublime Text、Visual Studio Code等,来打开和编辑TXT文件。
由于TXT文件没有特定的格式规范,因此它可以包含任何文本内容,例如普通文本、代码片段、配置信息等。以下是一个简单的txtFile.txt文件示例:
这是一个示例文本文件。 它包含多行文本。 每一行都用换行符分隔。
读与写
C语言形式
读文件
#include <stdio.h>
#include <stdlib.h>
char* ReadFile(const char* filename) {
FILE* file = fopen(filename, "r");
if (file == NULL) {
printf("无法打开文件:%s\n", filename);
return NULL;
}
// 计算文件大小
fseek(file, 0, SEEK_END);
long size = ftell(file);
fseek(file, 0, SEEK_SET);
// 分配内存来存储文件内容
char* buffer = (char*)malloc(size + 1);
if (buffer == NULL) {
printf("内存分配失败\n");
fclose(file);
return NULL;
}
// 读取文件内容
fread(buffer, sizeof(char), size, file);
buffer[size] = '\0'; // 添加字符串结尾符
fclose(file);
return buffer;
}
写文件
#include <stdio.h>
int WriteFile(const char* filename, const char* content) {
FILE* file = fopen(filename, "w");
if (file == NULL) {
printf("无法创建文件:%s\n", filename);
return -1;
}
fputs(content, file);
fclose(file);
return 0;
}
可以参考的文章:C语言文件操作(文件读写)
C++形式
读文件
#include <iostream>
#include <fstream>
#include <string>
std::string ReadFile(const std::string& filename) {
std::ifstream file(filename);
if (!file.is_open()) {
std::cout << "无法打开文件:" << filename << std::endl;
return "";
}
std::string content((std::istreambuf_iterator<char>(file)), std::istreambuf_iterator<char>());
file.close();
return content;
}
写文件
#include <iostream>
#include <fstream>
int WriteFile(const std::string& filename, const std::string& content) {
std::ofstream file(filename);
if (!file.is_open()) {
std::cout << "无法创建文件:" << filename << std::endl;
return -1;
}
file << content;
file.close();
return 0;
}
处理大数据写入(分区块)
#include <iostream>
#include <fstream>
#include <string>
#define BUFFER_SIZE 4096
int WriteFile(const std::string& filename, const std::string& content) {
std::ofstream file(filename);
if (!file.is_open()) {
std::cout << "无法创建文件:" << filename << std::endl;
return -1;
}
size_t contentLength = content.length();
size_t bytesWritten = 0;
while (bytesWritten < contentLength) {
// 取当前块的大小
size_t blockSize = std::min(BUFFER_SIZE, contentLength - bytesWritten);
// 写入当前块的数据
file.write(content.data() + bytesWritten, blockSize);
// 更新已写入的字节数
bytesWritten += blockSize;
}
file.close();
return 0;
}
可以参考的文章:C++文件操作(2023最新详解)
总结起来,TXT文件是一种简单且纯文本的文件格式,广泛应用于各种计算机系统和软件中。它以ASCII编码存储字符序列,没有特定的格式规范。TXT文件易于创建、编辑和阅读,但不适合存储大量的结构化数据。