,可以通过以下步骤实现:
typedef struct {
char string[100];
int number;
} LineData;
#include <stdio.h>
#define MAX_LINES 100
int main() {
FILE *file = fopen("data.txt", "r"); // 打开文本文件,"data.txt"为文件路径,"r"表示以只读方式打开
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
LineData lines[MAX_LINES]; // 定义一个数组来存储读取到的行数据
int lineCount = 0; // 记录读取到的行数
char buffer[100]; // 用于存储每一行的字符串
while (fgets(buffer, sizeof(buffer), file) != NULL) {
sscanf(buffer, "%s %d", lines[lineCount].string, &lines[lineCount].number); // 解析每一行的字符串和整数
lineCount++;
if (lineCount >= MAX_LINES) {
printf("文件行数超过最大限制\n");
break;
}
}
fclose(file); // 关闭文件
// 打印读取到的行数据
for (int i = 0; i < lineCount; i++) {
printf("Line %d: %s %d\n", i+1, lines[i].string, lines[i].number);
}
return 0;
}
fopen
函数打开文本文件,然后使用fgets
函数逐行读取文件内容到buffer
中。接着,使用sscanf
函数解析buffer
中的字符串和整数,并将它们存储到lines
数组中的对应位置。最后,使用fclose
函数关闭文件。请注意,上述代码仅为示例,实际应用中可能需要根据具体需求进行修改和优化。
关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,因此无法提供相关链接。但腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。
领取专属 10元无门槛券
手把手带您无忧上云