C语言如何读取TXT文件并存入数组中?

C语言如何读取TXT文件并存入数组中?,第1张

一、编程思路。

1 以文本方式打开文件

2 循环用fscanf格式化输入数据到数组

3 判断fscanf的返回值,如果显示到达文件结尾,退出输入。

4 关闭文件。

5 使用数据。

二、代码实现。

设定文件名为in.txt, 存有一系列整型数据,以空格或换行分隔。

代码可以写作:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#include <stdio.h>

int main()

{

int v[100]//开一个足够大的数组。

int i = 0, j

FILE *fp//文件指针

fp = fopen("in.txt", "r")//以文本方式打开文件。

if(fp == NULL) //打开文件出错。

return -1

while(fscanf(fp, "%d", &v[i]) != EOF) //读取数据到数组,直到文件结尾(返回EOF)

i++

fclose(fp)//关闭文件

for(j = 0j <ij ++)//循环输出数组元素。

{

printf("%d ", v[j])

}

return 0

}

当文件内容为:

1 35 6 8 9 9

10 123 34

76 54 98

程序输出:

1 35 6 8 9 9 10 123 34 76 54 98

首先要用fopen函数打开这个文件、然后用fread函数对文件中的数据进行读取、

例如:

if((fp=fopen("data.txt","a+"))==NULL)

//打开指定文件,判断是否存在

{

printf("指定文件不存在!\n")

return

}

while(!feof(fp))

//如果未遇到文件结束的标志,文件存在

if(fread(&stu[length],sizeof(struct

StuMessage),1,fp)==1)//读取成功则返回读入的数据块个数

length++

//统计当前记录条数

fclose(fp)

//关闭文件

文件中的内容将存储在stu数组中、、

你可以去看下C语言中文件的相关知识、、

在C语言中,字符数组中存放的内容中字符的ASC码。如果在定义过程中没有赋初值,则数组中的元素都为0。如

char c[10]

定义了c是一个字符数组共有10个元素c[0]、c[1]……c[9],因为没有赋初值,所以这10个元素的值都是0。

如果定义时赋了初值,或在程序中赋元素的值,则该元素保存对应字符的ASC码值。如:

char c[10]="ABCD"

则元素

a[0]=65//'A'的ASC码是65

a[1]=66//'B'的ASC码是66

a[2]=67//'C'的ASC码是67

a[3]=68//'D'的ASC码是68

在程序中,a[0]='A'和a[0]=65是等价的。

验证:

char a[10]="ABCD"

printf("%d %c\n",a[0],a[0])//输出65 A

printf("%d %c\n",a[3],a[3])//输出68 D

a[3]=65

printf("%d %c\n",a[3],a[3])//输出65 A

printf("%d",a[6])// 输出0 因为没有赋a[6]初值,所以其值为0


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11741152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存