C语言一行一行地读文本 把读到的字符串转化为int 储存在一个数组里

如题所述

#include <stdio.h>

const int MAX = 1024;

int main() {
int i,n = 0,num,a[MAX];
char filename[] = "indata.txt";
FILE *fin = fopen(filename,"rt");
if(fin == NULL) {
printf("无法打开数据文件:%s\n",filename);
return 1;
}
while(fscanf(fin,"%d",&num) == 1) {
a[n++] = num;
}
fclose(fin);
for(i = 0; i < n; ++i) {
if(i && i % 10 == 0) printf("\n");
printf("%5d",a[i]);
}
if(i % 10) printf("\n");
return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-06-10
一行就是一个整型数据吗?追问

文本
12
13
14
转化为a[0]=12
a[1]=13 a[2]=14

追答

以读方式打开文件后,假设文件指针为fp
i=0;
while(!feof(fp))
{
fscanf(fp,"%d",&a[i]);
i++;
}

C语言中如何读取文件中的汉字并将其存入数组中?
int n,FILE stream);---精通unix下c语言编程与项目实践P66 行输出函数族 int puts(const char s);int fputs(const char s,FILE stream);---精通unix下c语言编程与项目实践P67 块读写函数 能够输入输出任意数量的字符,在操作二进制文件时常常使用,fread 和fwrite 块读写函数经常操作二进制文件。...

C\/C++如何读取TXT文件的行数和把TXT文件的内容存到数组中
C语言读取TXT文件的行数并把把TXT文件的内容存到数组中,需要根据每行的内容(字符,数字,字符串)选取fgets、fscanf或者fgets。这里假设每行是一个字符串,每行不超过127个字符(用数组存字符串,最后一位存'\\0'),选取fgets进行读取。示例代码如下:include <stdio.h>#include <stdlib.h>int main...

利用C语言读取含文件头的txt文本并将学生信息和成绩分别保存到数组?
1、fgets每次读取一行,根据文本格式找到姓名和分数的行字符串。2、分别解析行字符串,获取其中的姓名和成绩(成绩字符串拆解后用atof函数转换成浮点数保存在浮点数数组中)。3、通过malloc和realloc申请一个对应大小的结构数组(你题目要求用数组,换成链表更好)4、将解析的数据保存到结构数组成员中。注意...

c语言单片机编程中,怎样将一个串口的到得字符串赋值给一个数组
1、串口字节为:SBUF暂存数组:A[]依次将接收到的字节存入A[0],A[1],A[2],...A[n],接收完毕,存入字符串结束标识:A[N+1]=0A就代表一个字符串。如果是一串数字,要转为整数。2、例程:include<reg51.h>#define uchar unsigned charuchar A[16],num;void uart() interrupt 4{if(RI) ...

...空格分隔的整数,我想把他们读出来存在一个数组里
直接fopen 然后用fscanf读取,fscanf就跟scanf一样,除了多一个文件指针 你可以把fopen想象成自动把文件的内容输入到黑框里

c语言中数字字符串中的数字转化成一个个数字并存入整形数组
intString: 保存整数的字符串 返回值:int: 成功返回转换后的整数,否则返回0 功能:把字符串转换成整数 例如:"1200" => 1200 作者: sdh 编写明细:完成时间 2009-10-23 作者名 sdh \/ int CharToInt(char* intString){ int i =1;int j =1;int b =0;int a =strlen( intString );...

C语言如何从文档中读取字符赋值到数组中?详细如下
这个是JAVA代码 思路应该一样 import java.io.*;\/\/导入操作要用到的类 File file=new File("c:\/test.txt");\/\/源文件位置 FileReader fr=new FileReader(file);\/\/创建文件输入流 BufferedReader in=new BufferedReader(fr);\/\/包装文件输入流,可整行读取 String line;String[] str;int i=0;...

C语言中从.txt文件中按行读取字符串至数组中,怎么写?
可以设定文件名为in.txt, 存有一系列整型数据,以空格或换行分隔写。代码如下:include int main(){ int v[100];\/\/开一个足够大的数组。int i = 0, j;FILE *fp;\/\/文件指针 fp = fopen("in.txt", "r");\/\/以文本方式打开文件。if(fp == NULL) \/\/打开文件出错。return -1;while...

C语言:先输入一行字符,将其存放在字符数组中,再输入一个指定字符,在字...
int main(){ char str[100]; \/\/ 定义字符数组,存储输入的字符串 char ch; \/\/ 定义字符变量,存储输入的指定字符 printf("请输入一行字符:");fgets(str, sizeof(str), stdin); \/\/ 读入一行字符 printf("请输入一个指定字符:");ch = getchar(); \/\/ 读入一个字符 int i;for (i = ...

C语言里 一行一行从文件里读入数据,怎么做
1 2 3 45 56 6 7 8 9 10 至于记录每行数据个数,存放到数组,等等,可以自己补充完善。程序:include <stdio.h> int main( ){ FILE *fin;int a,c;fin=fopen("a.txt","rw");while(1){ c = fgetc(fin);if (c==EOF) break;if (c=='\\n') {printf("\\n===\\n"); cont...

相似回答