C++中读取txt文件,将解析的字符串保存到数组中
时间: 2023-09-11 08:04:38 浏览: 231
### 回答1:
在 C 中读取 txt 文件并将解析的字符串保存到数组中可以使用 fopen() 和 fscanf() 函数。代码示例如下:
```c
#include <stdio.h>
int main() {
char str[100];
FILE *fp = fopen("example.txt", "r");
int i = 0;
while(fscanf(fp, "%s", str) != EOF) {
printf("%s\n", str);
i++;
}
fclose(fp);
return 0;
}
```
这里的 fopen() 函数用于打开文件,"r" 表示以只读的方式打开。fscanf() 函数用于从文件中读取字符串,读取到的字符串存储在 str 数组中。当读取到文件末尾时,fscanf() 函数返回 EOF。
### 回答2:
在C语言中,读取txt文件并将解析的字符串保存到数组中可以按照以下步骤进行:
1. 首先,需要打开要读取的txt文件。可以使用fopen函数:
```c
FILE* file = fopen("file.txt", "r");
```
2. 检查文件是否成功打开,如果文件打开失败,则退出程序:
```c
if (file == NULL) {
printf("无法打开文件\n");
return 0;
}
```
3. 创建一个数组来保存字符串。假设数组的大小为100,每个字符串最大长度为50:
```c
char strings[100][50];
```
4. 使用fgets函数从文件中逐行读取字符串,并将其保存到数组中:
```c
int i = 0;
char line[50];
while (fgets(line, sizeof(line), file) != NULL) {
strncpy(strings[i], line, sizeof(strings[i]) - 1);
strings[i][sizeof(strings[i]) - 1] = '\0'; // 添加字符串结束符
i++;
}
```
5. 关闭文件:
```c
fclose(file);
```
6. 现在,解析的字符串已经保存在数组中,可以根据需求进行进一步的处理或使用。
完整的代码示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
FILE* file = fopen("file.txt", "r");
if (file == NULL) {
printf("无法打开文件\n");
return 0;
}
char strings[100][50];
int i = 0;
char line[50];
while (fgets(line, sizeof(line), file) != NULL) {
strncpy(strings[i], line, sizeof(strings[i]) - 1);
strings[i][sizeof(strings[i]) - 1] = '\0'; // 添加字符串结束符
i++;
}
fclose(file);
// 对字符串数组进行进一步处理或使用
return 0;
}
```
注意:以上代码仅作为示例,实际应用中需要根据文件的具体内容进行适当的修改和异常处理。
### 回答3:
在C语言中,可以使用文件操作函数来读取txt文件,并将解析的字符串保存到数组中。
首先,需要打开txt文件,可以使用标准库函数fopen来打开文件。例如,可以使用以下代码来打开名为filename的txt文件:
```c
FILE *fp;
fp = fopen("filename.txt", "r");
```
接下来,可以使用fgets函数逐行读取文件的内容。fgets函数用于从文件中读取一行数据,可以指定读取的最大字符数以及要读取的文件流。例如,可以使用以下代码来逐行读取文件内容:
```c
char buffer[256];
while (fgets(buffer, sizeof(buffer), fp) != NULL) {
// 解析字符串并保存到数组中
}
```
在每次循环中,fgets函数会将读取的一行内容保存在缓冲区buffer中。可以根据具体的需求,使用字符串处理函数如strtok或者sscanf来解析缓冲区中的字符串,并将解析后的内容存储到数组中。
最后,在不再需要读取文件时,需要使用fclose函数关闭文件。例如,可以使用以下代码来关闭文件:
```c
fclose(fp);
```
以上就是在C语言中读取txt文件,并将解析的字符串保存到数组中的简单示例。需要根据具体的需求和文件内容进行适当的调整和处理。
阅读全文