如何从文件中把输入的数字取出来放到数组中

怎么从文件中把输入的数字取出来放到数组中
#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;
}