C语言从txt文件中逐行读入数据存到数组中的实现方法

 更新时间:2016年12月23日 08:52:04   投稿:jingxian  
下面小编就为大家带来一篇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 ( !fp ) 
	{
		fprintf( stderr, "! Error: faild to open keypos file \n" );
		return -1;
	}
	fscanf(fp, "%d %d%c", &in.numberofpoints, &dim, &ne);

这样就得到了个数信息,这样方便动态的分配内存,接下来就可以逐行读入数据了:

<span style="white-space:pre">	</span>in.pointlist = (REAL *) malloc( in.numberofpoints * 2 * sizeof(REAL) );
	char buf[1024];
	char pt1, pt2;
	for (i = 0; i < in.numberofpoints; i++)
	{
		if (!feof(fp))
		{
			if (fgets(buf, 1024, fp) == NULL)
				break;
			sscanf(buf, "%s %s\n", &pt1, &pt2);
			in.pointlist[2 * i] = atoi(&pt1);
			in.pointlist[2 * i + 1] = atoi(&pt2);		
		}
	}

注意,是现将每一行读入buf中,这是字符串类型的,然后再利用sscanf将里面的内容读给pt1和pt2,再利用atoi函数得到数据类型的值。

以上就是小编为大家带来的C语言从txt文件中逐行读入数据存到数组中的实现方法全部内容了,希望大家多多支持脚本之家~

您可能感兴趣的文章:

相关文章

  • Matlab实现四种HSV色轮图绘制的示例代码

    Matlab实现四种HSV色轮图绘制的示例代码

    色轮图就是色彩相位图,它完整表现了色相环360度的全部颜色。本文将利用Matlab语言绘制四种不同的HSV色轮图,感兴趣的可以动手尝试一下
    2022-07-07
  • 详解VS2010实现创建并生成动态链接库dll的方法

    详解VS2010实现创建并生成动态链接库dll的方法

    在某些应用程序场景下,需要将一些类或者方法编译成动态链接库dll,以便别的.exe或者.dll文件可以通过第三方库的方式进行调用,下面就简单介绍一下如何通过VS2010来创建动态链接库
    2022-12-12
  • VC小技巧汇总之控件技巧

    VC小技巧汇总之控件技巧

    这篇文章主要介绍了VC小技巧汇总之控件技巧,对于VC的开发很有借鉴价值,需要的朋友可以参考下
    2014-07-07
  • C语言fillpoly函数详解

    C语言fillpoly函数详解

    在C语言中,fillpoly函数的功能是画一个多边形,并且把多边形填充。填充边框所定义的多边形的内部。fillpoly 函数的用法:void far fillpoly(int numpoints, int far *polypoints);。
    2015-10-10
  • C语言函数的基本使用和递归详解

    C语言函数的基本使用和递归详解

    一个函数在它的函数体内调用它自身称为递归调用。这种函数称为递归函数。C语言允许函数的递归调用。在递归调用中,主调函数又是被调函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层
    2021-09-09
  • C++控制权限关键字protected

    C++控制权限关键字protected

    这篇文章主要介绍了C++控制权限关键字protected,protected和private类似,而对于派生类来说,protected与public类似,下面来一起俩姐更多详细内容吧,需要的小伙伴可以参考一下
    2022-01-01
  • C++继承和动态内存分配

    C++继承和动态内存分配

    这篇文章主要介绍了C++继承和动态内存分配,当我们的基类使用动态内存分配,并且重新定义赋值和复制构造函数,这会对派生类的实现有什么影响呢?我们带罩疑问俩姐下面文章内容吧
    2022-01-01
  • Java C++题解leetcode1598文件夹操作日志搜集器

    Java C++题解leetcode1598文件夹操作日志搜集器

    这篇文章主要为大家介绍了Java C++题解leetcode1598文件夹操作日志搜集器示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • C++中正则表达式的使用方法详解

    C++中正则表达式的使用方法详解

    几乎所有的编程语言都支持正则表达式。 C++从C++11开始直接支持正则表达式。除了编程语言之外,大多数文本处理程序都使用正则表达式。本文将探讨正则表达式的一般细节以及C++编程方面的细节,感兴趣的可以学习一下
    2022-05-05
  • C++第11版本中的一些强大的新特性小结

    C++第11版本中的一些强大的新特性小结

    这篇文章主要介绍了C++第11版本中的一些强大的新特性小结,需要的朋友可以参考下
    2015-12-12

最新评论