c语言实现把文件中数据读取并存到数组中
1.txt
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
2.txt
1 2 3 4 5
2 3 4 5 6
4 5 6 7 8
程序代码:
// C++读取文本到数组.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
int readfile1D()
{
char a[100];
int i;
FILE *fp = fopen("1.txt","r");
if(fp == NULL)
{
printf("文件读取无效.\n");
return -1;
}
for(i = 0; !feof(fp); i++)
fscanf(fp, "%d", &a[i]);
fclose(fp);
for(i=0; i < 20; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}
int readfile2D()
{
int a[3][5];
int i,j;
FILE* fp = fopen("2.txt","r");
if(fp == NULL)
{
printf("文件无效");
return -1;
}
for(i=0; i<3; i++)
{
for(j=0; j<5; j++)
{
fscanf(fp,"%d",&a[i][j]);
}
//fscanf(fp,"\n"); 不要也罢
}
fclose(fp);
for(i=0; i<3; i++)
{
for(j=0; j<5; j++)
printf("%d ", a[i][j]);
printf("\n");
}
printf("\n");
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
readfile1D();
readfile2D();
return 0;
}
以上就是小编为大家带来的c语言实现把文件中数据读取并存到数组中全部内容了,希望大家多多支持我们~
相关推荐
-
C语言 栈的表示和实现详细介绍
C语言 栈的表示和实现详细介绍 定义:栈是限定仅在表尾进行插入和删除操作的线性表. 栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表.它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来).栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针. 栈是允许在同一端进行插入和删除操作的特殊线性表.允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom):栈底固定,而栈顶浮动:
-
C语言辗转相除法求2个数的最小公约数
辗转相除法最大的用途就是用来求两个数的最大公约数. 用(a,b)来表示a和b的最大公约数. 有定理: 已知a,b,c为正整数,若a除以b余c,则(a,b)=(b,c). (证明过程请参考其它资料) 例:求 15750 与27216的最大公约数. 解: ∵27216=15750×1+11466 ∴(15750,27216)=(15750,11466) ∵15750=11466×1+4284 ∴(15750,11466)=(11466,4284) ∵11466=4284×2+2898 ∴(114
-
使用C语言判断栈的方向实例
这一问题主要是如何判读出先后入栈的变量的地址大小,比如有a, b两个变量一先一后被定义,如果a的地址大于b的地址,则说明是以低地址方向增长的,反之,往高地址方向增长.在写C程序的时候不能简单直接的定义两个变量来比较它们的地址大小,因为这样很有可能编译器会做优化,最终导致结果不真实.为避免这种编译器优化的情况,可以采用将变量定义到函数中,然后递归调用该函数. 例如下面的代码: #include <stdio.h> static int stack_direction = 0; static vo
-
C语言实现返回字符串函数的四种方法
前言 C语言返回字符串函数共有四种方式,分别如下: 使用堆空间,返回申请的堆地址,注意释放 函数参数传递指针,返回该指针 返回函数内定义的静态变量(共享) 返回全局变量 下面来看看详细的介绍 其实就是要返回一个有效的指针,尾部变量退出后就无效了. 使用分配的内存,地址是有效 char *fun() { char* s = (char*)calloc(100, sizeof(char*) ); if (s) strcpy ( s , "abc " ); return s; } 但这种方式
-
C语言从txt文件中逐行读入数据存到数组中的实现方法
首先,要知道数据的存储格式是怎样的, 65 2 722 542 691 514 644 506 588 524 565 558 608 580 648 586 696 572 482 564 第一行表示数字的个数和维数,所以要先读入这些信息: <span style="white-space:pre"> </span>FILE *fp = fopen("2D_Jesscia_keypos.txt", "r"); if (
-
详解C语言位域的使用与注意事项
位域的定义 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位.例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可.为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为"位域"或"位段".所谓"位域"是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数.每个域有一个域名,允许在程序中按域名进行操作. 这样就可以把几 个不同的对象用一个字节的二进制位域来表示. 位域的定义和位域变量的说明
-
C语言 文件操作解析详解及实例代码
C语言文件操作解析 在文件操作中除了打开操作以及读写操作,还有几种比较常见的操作.下面介绍一下这些操作中涉及到的函数. 一.移动位置指针的函数 rewind函数和fseek函数,这两个函数的原型是: void rewind(FILE *fp); 将位置指针移动到文件首 int fseek(FILE *fp,long int offset,int origin); 将位置指针移动到距离origin的offset字节数的位置 其中对于fseek函数中的参数,origin为起始点,offs
-
C语言设计一个闪闪的圣诞树
控制台打印一个圣诞树:简简单单的C语言知识,真的很基础,小白也能看得懂哦 /******************************* 圣诞树 byC语言小白入门 *******************************/ #include<stdio.h> #include <stdlib.h> #include <time.h> #include<Windows.h> #define X 25 //画面长度 int background[20]
-
C语言编程中建立和解除内存映射的方法
C语言mmap()函数:建立内存映射 头文件: #include <unistd.h> #include <sys/mman.h> 定义函数:void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offsize); 函数说明:mmap()用来将某个文件内容映射到内存中,对该内存区域的存取即是直接对该文件内容的读写. 参数说明: 返回值:若映射成功则返回映射区的内存起始地址,否则返回MAP_
-
C语言实现大数据文件的内存映射机制
C语言实现大数据文件的内存映射机制 摘要 本文主要讲述大量数据的文件的内存映射机制的实现. 1. 内存映射 内存映射文件,是由一个文件到一块内存的映射.Win32提供了允许应用程序把文件映射到一个进程的函数 (CreateFileMapping).内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而且在对该文件进行操作之前必须首先对文件进行映射.使用内存映射文件处理存储于磁盘上的文件时
-
利用C语言的Cairo图形库绘制太极图实例教程
前言 可能许多人对直接用C语言绘图仍然停留在Turbo C的graphics.h年代,或许也有教育老化的原因,毕竟曾经的经典早已成往事,与其想尽各种办法寻找与其兼容的图形库,不如顺势拥抱灿烂的明天.Cario(http://cairographics.org/)是一个非常出色的2D图形库,著名的GTK+3.0完全采用Cario作为绘图引擎,由此可见它的强大和吸引力. Cario支持X Window,Quartz,Win32,image.buffers,PostScript,PDF和SVG文件等多
-
使用C语言编写圣诞表白程序
快到圣诞节啦,男票女票都有了嘛?没有的话,有没有喜欢的女孩子或者男孩子啊?今天就给你们分享一个圣诞节的表白程序,希望你们喜欢咯,效果是这样的: 圣诞节快到了,让我们用C语言制作一个圣诞表白程序 具体代码如下咯: // GreetingCardDemoDlg.cpp : 实现文件 // #include "stdafx.h" #include "GreetingCardDemo.h" #include "GreetingCardDemoDlg.h"
-
C语言 经典题目螺旋矩阵 实例详解
C语言 经典题目螺旋矩阵 //N阶螺旋矩阵 #include <stdio.h> #include <stdlib.h> int main() { int N,i,j,n,num=1; int a[10][10]={0}; printf("输入你要输出的几阶中断:"); scanf("%d",&N); for(n=0;n<=N/2;n++) { for(j=n;j<=N-n-1;j++) a[n][j]=num++; fo
随机推荐
- Python算法应用实战之队列详解
- artDialog双击会关闭对话框的修改过程分享
- 改版时保留原链接,创建新的URL的方法
- php使用递归计算文件夹大小
- MYSQL主从不同步延迟原理分析及解决方案
- set_include_path和get_include_path使用及注意事项
- PHP邮件发送类PHPMailer用法实例详解
- node.js中EJS 模板快速入门教程
- 详解Nodejs 部署到阿里云全过程
- ASP页面随机添加字符实现防复制的代码
- Android给app设置自定义铃声功能
- Ruby 中$开头的全局变量、内部变量、隐藏变量介绍
- 详解jQuery简单的表格应用
- 修改jquery里的dialog对话框插件为框架页(iframe) 的方法
- Android仿支付宝支付密码输入框
- Java进阶之FileUpload完成上传的实例
- base64_encode和base64_decode的JAVA实现
- 利用Nginx反向代理与负载均衡搭建多人测试环境详解
- C++编程中删除运算符与相等运算符的使用解析
- 数字金额大写转换器制作代码分享(人民币大写转换)
