c语言读取txt文件数据 传入结构体
时间: 2024-09-24 07:22:04 浏览: 43
在C语言中,读取TXT文件并将其数据传递给结构体,通常需要涉及文件操作、输入流以及定义结构体。这里是一个简单的示例:
首先,定义一个结构体,例如存储文本文件中的信息:
```c
#include <stdio.h>
#include <string.h>
// 定义结构体
struct FileInfo {
char filename[50];
char content[100]; // 这里假设内容最多不超过100字节
};
void readTXTFile(struct FileInfo* fileData, const char* filePath) {
FILE* file = fopen(filePath, "r"); // 打开文件
if (file == NULL) {
perror("Error opening file");
return;
}
fgets(fileData->filename, sizeof(fileData->filename), file); // 读取文件名
fseek(file, 0, SEEK_SET); // 重新定位到开始以便读取内容
fgets(fileData->content, sizeof(fileData->content), file); // 读取内容
fclose(file);
}
```
在这个例子中,`readTXTFile`函数接收一个指向`FileInfo`结构体的指针和文件路径。它打开文件,然后分别读取文件名和内容,并将它们保存在结构体中。
要使用这个函数,你可以这样做:
```c
int main() {
struct FileInfo fileInfo;
char path[] = "example.txt"; // 替换为你实际的TXT文件路径
readTXTFile(&fileInfo, path);
printf("Filename: %s\n", fileInfo.filename);
printf("Content: %s\n", fileInfo.content);
return 0;
}
```
阅读全文