C++ C++;解析输入文件并将数据复制到输出文件
我有一个名为input.txt的文件,其中包含一系列嵌套对象,其中每个对象由{和}分隔。对象中的属性包含一个名称,后跟至少一个空格,后跟一组由(和)分隔的参数。逗号分隔多个参数,请参见下文 input.txtC++ C++;解析输入文件并将数据复制到输出文件,c++,function,file-io,C++,Function,File Io,我有一个名为input.txt的文件,其中包含一系列嵌套对象,其中每个对象由{和}分隔。对象中的属性包含一个名称,后跟至少一个空格,后跟一组由(和)分隔的参数。逗号分隔多个参数,请参见下文 input.txt { colour (3) position (3,4) size (2) { position (13,4) size (2) colour (5) } ... 如何创建一个函数来解析输入文件并将数据复制到输出文件 到目前为止我已经试过了 parser(char filenamein[]
{
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;
}
解析器(char filenamein[],char filenameout[]
{
ifstream-fin(filenamein);
如果(fin.is_open())
{
流fout(文件名输出);
字符c;
while(fin.good())
{
fin.get(c);
如果您可能对库感兴趣。如果您只想让代码将一个文件复制到另一个文件,下面的代码就可以了。当然,您可以看到,实现这一点的方法不止一种
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;
}
int copy_文件()
{
ifstream输入(“c:\\input.txt”,std::ios::in | std::ios::binary);
如果(!input.good())
{
//打开输入文件时出错
返回-1;
}
流输出(“c:\\output.txt”,std::ios::trunc | std::ios::binary);
如果(!output.good())
{
//打开输出文件时出错
返回-2;
}
输出简短回答:设计并实现一个自动机。你的输出文件的格式是什么?它与输入文件完全相同吗?等等。你只是想复制文件吗?你需要以任何方式解释它吗?试图将数据复制到输出文件,然后找到最大大小的对象并打印到控制台窗口t对象层次结构中的级别。假设最外层的初始对象级别为1,打印输出应该类似于“最大的对象大小(大小值)且位于级别(级别值)”@Marc:好的,这是一个完全不同的问题。请编辑您的问题,使其说明您真正想做的事情。