#c #pgm
#c #pgm
Вопрос:
По какой-то причине я ничего не могу записать в файл .PGM. Следующий код компилируется без ошибок, но в .Файл PGM, который он создает. Я довольно новичок в C и довольно плохо знаком с работой со строками в этом синтаксисе.
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cstring>
#include <sstream>
int main(){
// Initialize variables.
const int ncols = 30;
const int nrows = 20;
const int maxval = 255;
std::string filename;
// Prompt user for filename.
std::cout << "What would you like to name the file of the PGM image? Please include .PGM at the end of your name." << std::endl;
// Uses getline() function to retrieve input from user into a string.
std::getline(std::cin, filename);
// Creates output stream object to use with managing the file.
std::ofstream fileOut(filename.c_str(),std::ios_base::out
|std::ios_base::binary
|std::ios_base::trunc
);
fileOut.open(filename.c_str());
fileOut << "P2" << " " << ncols << " " << nrows << " " << maxval << "n";
fileOut.close();
}
Я знаю, что есть еще один вопрос SO, похожий на этот, но я использовал этот ответ, чтобы попасть сюда. Я даже не могу заставить его записать часть заголовка, и это даже не точка назначения. Кто-нибудь может помочь?
Комментарии:
1. К вашему сведению, вы открываете файл дважды. Один раз при создании
fileOut
и второй раз при вызовеfileOut.open(...)
.2. Удаление во второй раз исправило это. Большое вам спасибо.