1.设计一个程序只用读来读data.txt文件中的数据,并且解析输出 文件数据(文件中存储的是字符串):99,40,39,55,80 测试:./project 99 40 39 55 80C语言
时间: 2024-09-23 20:13:47 浏览: 40
在C语言中,你可以使用`stdio.h`库来处理文本文件并读取其中的数据。首先,你需要打开文件、读取内容,然后分割字符串为整数数组。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE_LENGTH 100
// 函数来处理读取并分割数据
int* parse_data(const char *filename, int *count) {
FILE *file = fopen(filename, "r");
if (file == NULL) {
perror("Error opening file");
exit(EXIT_FAILURE);
}
char line[MAX_LINE_LENGTH];
fgets(line, MAX_LINE_LENGTH, file);
// 分割字符串为整数数组
char *token;
token = strtok(line, ",");
int *data = malloc(sizeof(int) * count); // 估计最大值
*count = 0;
while (token != NULL) {
data[*count] = atoi(token); // 将字符串转换为整数
++(*count);
token = strtok(NULL, ",");
}
fclose(file);
return data;
}
int main(int argc, char **argv) {
if (argc != 2) {
printf("Usage: ./project <data.txt>\n");
return -1;
}
int count;
int *numbers = parse_data(argv[1], &count);
for (int i = 0; i < count; ++i) {
printf("%d ", numbers[i]);
}
free(numbers); // 释放内存
printf("\n");
return 0;
}
```
运行这个程序,通过命令行输入`./project data.txt`,然后提供包含数字的文本文件(如"data.txt")。注意,这个例子假设文件内容总是以逗号分隔的整数列表。
阅读全文