在地图和打印中保存段落 - 不工作

时间:2013-05-28 16:12:08

标签: c++ map header

这与Mats Petersson对previous question的答案有关。

根据他的方法,我可以成功地保存标题中的行,并在我想要的时候打印出来。但是,我现在想保存整个标题以便稍后打印。我正在使用append()来实现这个目的。但它没有用。

以下是两个函数之外的代码:

static map<string, string> headermap;
static char headerline[1024];

以下是阅读功能的代码:

string paragraph;

for (int i=0; i<8; ++i) {//8 lines of the header
    fgets(buffer,1024,fp);
    if(buffer[0] == '#'){
        paragraph = paragraph.append(buffer);
    }
}

headermap[filename] = paragraph;

以下是撰写函数的代码:

const char *headerline = headermap[filename].c_str();
fprintf(fp, headerline);

以前我在阅读功能中使用headerline[i] = buffer[i];而不是paragraph.append(buffer);。而headermap[filename] = headerline;代替headermap[filename] = paragraph;

打印时,输出文件中不会打印任何内容。正如我之前所说的,之前当我尝试打印一行时,它运行正常。

0 个答案:

没有答案