我是一個缺乏經驗的C++程序員,所以這個問題可能很基本。我想爲我的系詞獲取文件名:在C++中連接字符串
string MonteCarloBasketDistribution::fileName(char c)
{
char result[100];
sprintf(result, "%c_%s(%s, %s).csv", copula.toString().c_str(), left.toString().c_str(), right.toString().c_str());
return string(result);
}
這是在使用:
MonteCarloBasketDistribution::MonteCarloBasketDistribution(Copula &c, Distribution &l, Distribution &r): copula(c), left(l), right(r)
{
//.....
ofstream funit;
funit.open (fileName('u').c_str());
ofstream freal;
freal.open (fileName('r').c_str());
}
然而,創建的文件有垃圾的名字,從怪異的人物爲主。任何想法我做錯了什麼,以及如何解決它?
什麼是「copula」?具體來說,它是什麼類型? – 2010-01-21 21:30:31
sprintf的第一個格式說明符已損壞。 – 2010-01-21 22:48:14
@尼爾:copula屬於Copula類型。 :P見第二段代碼的第一行。 – 2010-01-21 23:20:52