2012-03-27 12 views
0

私はこのプロジェクトでもう一度私の入力でテキストを読むのに問題があると、プログラムは終了しません。ここの問題full description of the problem しかし、私はどのようにcharでテキストcharを読み、そして次の行を同じ方法で読むのか分からない。あなたはあなたが使用することができ、各文字 charでテキストのcharを読み、C++で行単位で読む方法は?

ために行を解析EOF

  • に達するまで、まず線で

    1. 読むラインシンプルなロジックを作る

      freopen("input.txt","rt",stdin); 
      freopen("output.txt","wt",stdout); 
      
      int n=-1; 
      int m=-1; 
      int cont =0; 
      int VMatriz[100][100]={0}; 
      int Mapa[100][100]={0}; 
      while(n!=0 && m!=0) 
      { 
          scanf("%d %d",&n,&m); 
      
          if (n==0 && m==0) 
           break; 
          cont++; 
          printf("Field # %d",cont); 
      
      
          for (int i=0;i<n;i++) 
          { printf("/n"); 
           for (int j=0;j<m;j++) 
           { 
            //scanf("%d ",&Mapa[i][j]); 
            Mapa[i][j]=getchar(); 
      
            if (Mapa[i][j]=='*') 
             { 
              if (j-1>=0) 
               VMatriz[i][j-1]++; 
              if (j+1<m) 
               VMatriz[i][j+1]++; 
              if (i-1>=0) 
               VMatriz[i-1][j]++; 
              if (i+1<m) 
               VMatriz[i+1][j]++; 
      
              if (j-1>=0 && i-1>0) 
               VMatriz[i-1][j-1]++; 
              if (j-1>=0 && i+1<m) 
               VMatriz[i+1][j-1]++; 
              if (j+1<m && i-1>0) 
               VMatriz[i-1][j+1]++; 
              if (j+1<m && i+1<m) 
               VMatriz[i+1][j+1]++; 
      
              VMatriz[i][j]='*'; 
      
             printf("%d",VMatriz[i][j]); 
      
      
             } 
      
           } 
      
          } 
          printf("/n"); 
      
      
      } 
      return 0; 
      
  • 答えて

    0

    CStdioFile

    CStdioFile file (_T("File.txt"), CStdioFile::modeRead); 
    CString buffer; 
    
    while (file.ReadString(buffer)) 
    { 
        CString strLine = buffer; 
        //Parse the strLine for each character 
    }