2011-05-01 59 views
0

我有一個名爲input.txt的文件,其中包含一系列嵌套對象,其中每個對象由{和}分隔。對象中的屬性包含一個名稱,後面跟着至少一個空格,後面跟着由(和)分隔的一組參數。以逗號分隔的多個參數見下文C++解析輸入文件並將數據複製到輸出文件

input.txt中

{ 
colour (3) 
position (3,4) 
size (2) 
{ 
position (13,4) 
size (2) 
colour (5) 
} 
... 

如何創建一個函數來解析輸入文件,將數據複製到一個輸出文件?

到目前爲止,我已經嘗試

parser(char filenamein[], char filenameout[]) 
{ 
ifstream fin(filenamein); 
if(fin.is_open()) 
{ 
    ofstream fout(filenameout); 

    char c; 
    while (fin.good()) 
    { 
     fin.get(c); 
     fout << c; 
    } 

    fout.close(); 
    fin.close(); 

    return true; 
} 
return false; 
} 
+0

簡答題:設計並實現一個自動機。 – atoMerz 2011-05-01 13:00:30

+0

輸出文件的格式是什麼?它與輸入文件完全相同嗎? – 2011-05-01 13:06:22

+0

是的,他們都是.txt – Marc 2011-05-01 13:08:19

回答

0

如果您只是希望代碼將一個文件複製到另一個文件,則可以使用以下代碼。正如你所看到的,當然有不止一種方式來實現這一點。

int copy_file() 
{ 
    ifstream input("c:\\input.txt", std::ios::in|std::ios::binary); 

    if(!input.good()) 
    { 
     // error opening input file 
     return -1; 
    } 

    ofstream output("c:\\output.txt", std::ios::trunc|std::ios::binary); 

    if(!output.good()) 
    { 
     // error opening output file 
     return -2; 
    } 

    output << input.rdbuf(); 

    if(!output.good()) 
    { 
     // writing to file failed 
     return -3; 
    } 

    return 0; 
}