Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4519285
  • 博文数量: 356
  • 博客积分: 10458
  • 博客等级: 上将
  • 技术积分: 4734
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-24 14:59
文章分类

全部博文(356)

文章存档

2020年(17)

2019年(9)

2018年(26)

2017年(5)

2016年(11)

2015年(20)

2014年(2)

2013年(17)

2012年(15)

2011年(4)

2010年(7)

2009年(14)

2008年(209)

分类: C/C++

2008-05-23 16:50:30

1.txt
内容:
22.468 1 50 
33.411 12 3 
77.639 29 3 
44.811 20 18
 
我们将读取文件,并把用空格分开的数据分别存放到临时变量并输出
 
 

#include <stdio>

int main()
{
    char filename[] = "1.txt";
    FILE *fp;
    if((fp = fopen(filename,"r")) == NULL)
    {
        printf("error!");
        return -1;
    }
    
    while (!feof(fp))
    {
        float fData = 0;
        int iData1 = 0, iData2 = 0;
        fscanf(fp, "%f", &fData);
        fscanf(fp, "%d", &iData1);
        fscanf(fp, "%d", &iData2);
        printf("%f %d %d\n", fData, iData1, iData2);

       //这里可以做其他操作,如把数据保存到数组中以便以后使用
    }
    fclose(fp);
    return 0;
}

 

输出:

22.468000 1 50
33.410999 12 3
77.639000 29 3
44.811001 20 18
Press any key to continue

如果是C++的话,可以用CStdioFile

一行行读入,然后再用sscanf把float int int 数据分别读取出来.

阅读(3371) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-12-04 11:38:20

请问一下,我要打开一个.264文件 但是只能读出72个16进制的数字(文件中有三千左右数字) 下面是我的程序,能帮我指正一下吗? #include void main() { FILE *fp; int n,i=0; unsigned int c; fp=fopen("c:\\test.264","r"); while(!feof(fp)) { c=fgetc(fp); printf("%2x",c); printf(" "); i++; if(i==16) { printf("\n"); i=0; } } fclose(fp); }