2011-05-01 55 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; 
}