-1
我有以下代碼:fstream的在出代碼::塊錯誤
std::fstream out;
out.open(argv[1], std::fstream::in | std::fstream out);
if(out.is_open()){
在編譯時Code::Blocks
,我得到以下錯誤:
expected primary-expression before "out"
任何想法,這可能是導致這錯誤?
我試圖重寫文件5倍
#include <fstream>
#include <iostream>
int main(int argc, char** argv) {
if (argc<2){
printf("Error! Usage: wrap.exe filename\n");
return -1;
}
std::fstream out;
out.open(argv[1], std::fstream::in | std::fstream out);
if(out.is_open()){
out.seekp(0,out.beg);
for(int i=0;i<5;i++)
{
while(!out.eof()){
out<<i;
}
}
}
else {
printf("Error! Problem with opening file to wrap!\n");
return -1;
}
out.close();
printf("File wrapped successfully!\n");
return 0;
}
「編譯代碼::塊」或「用*代碼::塊編譯*」? Code :: Blocks在任何情況下都不是編譯器,它是一個IDE。 – Clifford
這不是問題,但您應該使用構造函數來打開文件。 'std :: fstream out(argue [1]);'會做你需要的。不需要單獨調用'open',也不需要模式參數,因爲它們是默認值(調用'open':out.open(argv [1]);''就足夠了) 。 –