如何从文件中把输入的数字取出来放到数组中
怎么从文件中把输入的数字取出来放到数组中
#include "stdio.h"
#define n 10
main()
{
int A[n]
FILE *fp;
fp=fopen("input.txt","r");
//打开文件INPUT.TXT了,比如在里面已经写入了10个数字,数字的输入是以回车间隔的..
例如:
1
2
3
0
4
5
6
7
8
9
然后请问各位大侠,怎么把那10个数字取出来放到A[10]中...
}
------解决方案--------------------
方法比较笨,快熄灯了,楼主忍受一下:
#include "stdio.h"
#define n 10
main()
{
int A[n]
FILE *fp;
fp=fopen("input.txt","r");
//打开文件INPUT.TXT了,比如在里面已经写入了10个数字,数字的输入是以回车间隔的..
例如:
1
2
3
0
4
5
6
7
8
9
然后请问各位大侠,怎么把那10个数字取出来放到A[10]中...
}
------解决方案--------------------
方法比较笨,快熄灯了,楼主忍受一下:
- C/C++ code
#include "stdio.h" #include<stdlib.h> #define n 10 void main() { int A[n]; FILE *fp; fp=fopen("c:\\input.txt","r"); for(int i=0;i<n;i++) { A[i]=fgetc(fp)-48; fgetc(fp); } for(int j=0;j<n;j++) { printf("%d\n",A[j]); } }
------解决方案--------------------
- C/C++ code
#include <stdio.h> #include <stdlib.h> #define n 10 void main() { int a[n]; FILE *fp; fp=fopen("input.txt","r"); if (fp==NULL) exit(0); for (int i=0;i<10;i++) //这个for循环就是把文件中的数据放到数组中了.. { fscanf(fp,"%d\n",&a[i]); } for (i=0;i<10;i++) printf("%d\n",a[i]); }
------解决方案--------------------
- C/C++ code
#include <fstream> #include <iostream> #include <iterator> #include <algorithm> using namespace std; int main() { vector<int> A; ifstream infile( "input.txt" ); if( infile.fail() ){ return 0; } istream_iterator<int> bg(infile); istream_iterator<int> ed; copy( bg, ed, back_inserter<vector<int> >(A) ); copy( A.begin(), A.end(), ostream_iterator<int>(cout," ") ); return 0; }