序列讀入並統計詞頻
// loaddocsinubuntu.cpp//#include #include #include using namespace std;
int main();
while (fscanf(fileptr, "%d", &word) != eof)
corpus.push_back(doc);
fclose(fileptr);
sprintf(filename, "..//result/frequbuntuserial_%d.txt", d);
fileptr = fopen(filename, "w");
for (int f = 0; f < 25; f++)
fclose(fileptr);
}cout <<"corpus.size()="<< corpus.size() << endl;
return 0;
}
這裡討論並行有三種思路:一,按照文件序號進行分組讀入統計等操作;二,在文件內按單詞數目分組進行統計;三,將統計與讀寫操作並行處理。
針對第一種思路,使用openmp做多執行緒處理:
// loaddocsbyopenmp.cpp
//#include #include #include #include #include #include #include using namespace std;
int main()
; //vector< vector> corpus;
clock_t start,finish;
int f[360]=;
start=clock();
printf("load data ...\n");
#pragma omp parallel for num_threads(4)
for (d = 1; d < 361; d++);
////vectordoc;
while (fscanf(fileptr[d-1], "%d", &word) != eof)
//fclose(fileptr[d-1]);
sprintf(resultname, "..//result/freqbyopenmp_%d.txt", d);//be careful!for the name "filename" has been used before, we must name the string differently here.
fileptr[d-1] = fopen(resultname, "w");
for (f[d-1] = 0; f[d-1] < 25; f[d-1]++)
fclose(fileptr[d-1]); }
//cout <<"corpus.size()="<< corpus.size() << endl;
finish=clock();
cout<<"time cost : "<< (double)(finish-start)/ clocks_per_sec《但初步比較openmp對序列讀取的速度並沒有太多提公升,反而是當程序數多於系統物理核數的時候,程式時間會加長。
另外兩種實現思路在後續學習中繼續實現。
C 對TXT文件新建 讀寫
include include using namespacestd intmain readfile temp 遇到空格輸出停止,空格後的內容無法輸出,0 是截止符,如圖3所示 8,0 可以輸出空格,遇到delim符號才截止。最後乙個引數0表示文字框遇到空字元 ascll碼為32,文字框不可能有空...
C 中對txt檔案的讀寫操作
最近在做顏色校正部分的操作,發現對c 檔案的讀寫遺忘了,特記於此 該程式是實現對txt檔案的寫入與讀出 這是初級的寫法,有時間在搞一下高階寫法 注意最後別忘了close掉開啟的檔案!程式如下 include stdafx.h include include include include using...
使用C 對txt檔案進行讀寫
首先要包含標頭檔案 include首先,在 檔案目錄下建立txt檔案的兩種方法 特別注意!建立的檔案會在不需要確認的情況下覆蓋目錄下同名檔案,千萬小心!main int argc,char ar 將字串寫入檔案的 rose how are you?向物件rose內寫入字串 jack not bad....