✨博客主页何曾参静谧的博客📌文章专栏「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
#include
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
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
#include
#include
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
file.close();
return content;
}
写文件
#include
#include
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
#include
#include
#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文件易于创建、编辑和阅读,但不适合存储大量的结构化数据。