2012-11-19 7 views
0

내 초보자 용 식을 실례합니다. 나는 첫 번째 위치에서 마지막 위치까지 기존 파일을 읽는 ref 함수에 의한 패스를 얻으려고한다. 먼저 seekg를 사용하여 파일에 몇 개의 문자 또는 바이트가 있는지 읽으려면 파일 내용을 읽고 표시하도록 요청했습니다. 저는 교수님의 예와 교과서에서 조각을 사용했습니다. 나는 그것이 조직의 기능과 관련된 문제라고 생각한다. 컴파일되고 바로 계산되지만 arrays.txt 파일의 내용은 표시되지 않습니다. 어떤 도움이라도 언제나처럼 인정 될 것입니다.고급 I/O 파일 작업, 기능 포함

// Using Bloodshed... 

#include <iostream.h> 
#include <fstream.h> 
#include <stdlib.h> 
#include <string.h> 
#include <iomanip> 

using namespace std; 

char x; 
void calcFunc(fstream&, char&, long&, long&); 
int main() 
{ 

    fstream file; 
    char ch, choice; 
    long offset, last, first; 

    file.open("arrays.txt"); 
    if (file.fail()) 
    { 
     cout << " file name cannot be found \n"; 
     system("pause"); 
     exit(1); 
    } 

    cout << "Hello You! Please choose Option A,B,C, or D: " << endl << endl;; 

    cout << "A. READ THE FILE FROM FIRST POSITION TO LAST. " << endl; 
    cout << "B. READ THE FILE FROM THE LAST TO THE FIRST IN REVERSE." << endl; 
    cout << "C. READ THE FILE FROM FIRST POSITION TO ANY PLACE." << endl; 
    cout << "D. READ FILE FROM ANY PLACE TO ANY PLACE. " << endl << endl; 
    cout << "A, B, C, OR D,: "; 
    cin >> choice; 

    cout << endl << endl; 

    switch (choice) 
    { 

    case 'A': 
     file.seekg(0L, ios::end); 
     last = file.tellg(); 
     cout << last; 
     system("pause"); 
     calcFunc(file, ch, offset, last); 
     cout << offset << " " << last << " " << x << " " << ch; 
     system("pause"); 

     break; 

    default: 
     cout << "please enter appropriate value"; 
    } 



    return (0); 
} 

void calcFunc(fstream& file, char& x, long& offset, long& last) 
{ 
    for (offset = last; offset > 0; offset--) 
    { 
     x = file.get(); 
     cout << x; 
     return x; 
    } 
} 
+2

다시 질문하셨습니까? – mvp

+0

내 함수 정의가 파일의 내용을 어떻게 표시합니까? – delgadough

+0

스택 교환의 코드 리뷰 사이트에서 이것을 게시해야합니다 ... –

답변

0

유일한 문제는 (지금까지) return x입니다. calcFuncchar이고 x이 몇 가지 조건을 충족하고 루프를 중지하고 그로 인해 돌아 오지 않는 한 필요하지 않습니다. 나는 그것을 꺼내기 만하면된다.