首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请教:如何在实现文本文件的读取啊

2012-02-15 
请问各位大哥:怎么在实现文本文件的读取啊?各位大哥:我的毕业设计里要求编一个程序:读取一个内容如下的文

请问各位大哥:怎么在实现文本文件的读取啊?
各位大哥:我的毕业设计里要求编一个程序:读取一个内容如下的文本文件:
3420744.414,521459.884,
3420744.414,521459.882,
3420744.415,521459.883,
我想把这些数据存入一个二维数组中,用面向过程的c语言怎么实现啊?本人c语言学的不好,请大哥们指教!

[解决办法]
#include <stdio.h>

void main( void )
{
FILE *stream;
char list[30];
int i, numread, numwritten;

/* Open file in text mode: */
if( (stream = fopen( "fread.out ", "w+t " )) != NULL )
{
for ( i = 0; i < 25; i++ )
list[i] = (char)( 'z ' - i);
/* Write 25 characters to stream */
numwritten = fwrite( list, sizeof( char ), 25, stream );
printf( "Wrote %d items\n ", numwritten );
fclose( stream );

}
else
printf( "Problem opening the file\n " );

if( (stream = fopen( "fread.out ", "r+t " )) != NULL )
{
/* Attempt to read in 25 characters */
numread = fread( list, sizeof( char ), 25, stream );
printf( "Number of items read = %d\n ", numread );
printf( "Contents of buffer = %.25s\n ", list );
fclose( stream );
}
else
printf( "File could not be opened\n " );
}

[解决办法]
#include <stdio.h>
#include <stdlib.h>

int main()
{
FILE *fp=fopen( "test.txt ", "r ");
float arr[3][2], *p;
int i, j;

p = (float *)arr;
for(i=0; i <6; i++)
fscanf(fp, "%f, ", &(p[i]));

for(i=0; i <3; i++)
{
for(j=0; j <2; j++)
printf( "%f\t ", arr[i][j]);
printf( "\n ");
}
system( "pause ");
return 0;
}


test.txt 文件内容:(在工程当前目录下)
3420744.414,521459.884,
3420744.414,521459.882,
3420744.415,521459.883,

热点排行