Я пишу симуляционную программу на C ++.У меня есть несколько лет опыта в программировании, но я ничего не делал за 15 лет.Это мой первый раз программирование на C ++.Симуляция содержит несколько сотен строк кода и работает нормально.
Моя основная цель - результаты симуляции.Я сейчас на пенсии, так что приобретение опыта в C ++ не является моей главной целью, хотя все еще представляет интерес.
Я хочу отформатировать выходные результаты моделирования в: консольный вывод, который я могу прочитать
CSVвывод, который я могу передать через Excel или эквивалентный
Мой план - это одна подпрограмма, которая может печатать оба формата.
Из долгого изучения потока строк на переполнение стека и YouTube Я все еще застрял на первом месте.У меня есть две проблемы:
1: stringstream.str () не будет компилироваться
2: вызов fprintf не хочет распознавать строку
Яиспользуя NetBeans 8.1 (стандартный компилятор), Zorin Linux.Это мой первый опыт разработки на обеих этих платформах.Я мог бы написать код, чтобы сделать это сам, но я не могу быть первым, кто захочет сделать это.Вот пример кода был скопирован из ответов и "как" в Интернете
вот соответствующие фрагменты кода:
#include <stdio.h>
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
#include "globals.h"
#include "bjClass.h"
using namespace std;
extern FILE * resultsFile;
void print_disk_file(int outstream )
{
std::ostringstream s1;
int i = 22;
s1 << "Hello " << i << endl;
string s2 = s1.str(); // compiler says "unable to resolve str"
cout << s2;
// ...
ostringstream os;
os << "dec: " << 15 << " hex: " << std::hex << 15 << endl;
cout << os.str() << endl;
fprintf(resultsFile, "%s %c" , s1.str(), ' ') ; // compiler says "unable to resolve str" and gives warning about strings and char *
fprintf(resultsFile, "%s %c" , s2, ' ') ;
}