#include <iostream>#include <sstream>#include <stdio.h>#include <string>using namespace std;int main(int argc,char *argv[]){ // String stream to hold the file name so I can create it from a serIEs of other variable stringstream PPM_file_name; // ... a bunch of other code where int ccd_num and string cur_ID_str are created and initialized // Assemble the file name PPM_file_name << "ccd" << ccd_num << "_" << cur_ID_str << ".ppm"; // From PPM_file_name,extract its string,then the const char* pointer to that string's data,then cast that to char* write_ppm((char*)(PPM_file_name.str().data()),"ladyBUG_vIDcapture.cpp",rgb_images[ccd_num],wIDth,height); return 0;}解决方法 这看起来像是一个没有编写const-correct代码并且具有连锁效应的典型案例.你有几个选择:
>如果write_ppm在你的控制之下,或你所知道的任何人的控制,让他们使它成为const corrct>如果不是,你可以保证它永远不会改变文件名然后const_cast>如果你不能保证,将你的字符串复制到std :: vector加上null终止符并传递& vec [0](其中vec表示矢量变量的名称)
总结以上是内存溢出为你收集整理的c – 将stringstream的内容传递给以char *作为参数的函数全部内容,希望文章能够帮你解决c – 将stringstream的内容传递给以char *作为参数的函数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)