c语言读取txt文件里的整数返回一个整数数组
时间: 2023-12-08 08:06:51 浏览: 76
好的,我了解了你的要求。以下是读取txt文件中整数并返回整数数组的C语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
int* readIntegersFromFile(const char* fileName, int* numberOfIntegers) {
int* integers = NULL;
*numberOfIntegers = 0;
FILE* file = fopen(fileName, "r");
if (file == NULL) {
printf("Error opening file %s\n", fileName);
return NULL;
}
// Determine the number of integers in the file by counting the whitespace
int ch;
while ((ch = fgetc(file)) != EOF) {
if (ch == ' ' || ch == '\n' || ch == '\t') {
++(*numberOfIntegers);
}
}
// Allocate memory for the integers array
integers = (int*) malloc((*numberOfIntegers) * sizeof(int));
if (integers == NULL) {
printf("Error allocating memory\n");
fclose(file);
return NULL;
}
// Reset file pointer to beginning of file
fseek(file, 0, SEEK_SET);
// Read integers from file and store in array
int i = 0;
while (fscanf(file, "%d", &integers[i]) != EOF) {
++i;
}
// Close file and return the integer array
fclose(file);
return integers;
}
int main() {
int numberOfIntegers;
int* integers = readIntegersFromFile("input.txt", &numberOfIntegers);
printf("Number of integers: %d\n", numberOfIntegers);
for (int i = 0; i < numberOfIntegers; ++i) {
printf("%d ", integers[i]);
}
printf("\n");
free(integers);
return 0;
}
```
这个函数的作用就是读取指定文件中的整数,并将这些整数存储到一个动态分配的整数数组中。在使用这个函数时,你需要指定要读取的文件名,并传入一个指向整数变量的指针,以便在函数内计算出文件中整数的数量。函数会返回一个指向动态分配的整数数组的指针,如果有任何错误发生,函数会返回NULL。
希望这个代码示例能够帮到你!
阅读全文