fprintf segmentation fault

記錄一下 遇到segmentation fault:11 的case

以為只是某個陣列出錯,結果居然是fprintf找不到檔案引起的

某個程式區塊內容
char fileloc[50];
sprintf(fileloc,"move_trace/Node%d", i+1);
n.PrintTrace(fileloc);

//略
void Node::PrintTrace(char *filename){
   //open the file
   outfile = fopen(filename,"w");
}

其中的outfile是Node的成員變數(對C++不熟,不知道是不是跟Java的講法一樣)

FILE *outfile;

之後程式執行到下面這行就出現segmentation fault
fprintf(outfile,"#period %d, community %d:\n", i, j);

最後debug出來是因為fopen(filename,"w")並沒有成功,好像目錄"move_trace"不先建立就不行

留言

這個網誌中的熱門文章

Texmaker XeLaTeX設定

Java ActionEvent getModifiers()

BibTex 欄位