Ich bin ein Zeichenzeiger in eine Datei zu schreiben, aber mein Programm stürzt immer auf Namen, wenn ich es tun, und ich bin nicht in der Lage, warumnicht in der Lage zu einer Datei char Zeiger schreiben
#include <iostream>
#include <iomanip>
#include <string>
#include "AmaProduct.h"
using namespace std;
namespace sict{
AmaProduct::AmaProduct(char file){
fileTag_ = file;
}
const char* AmaProduct::unit()const{
return unit_;
}
void AmaProduct::unit(const char* value){
for (int i = 0; i != 9; i++){
unit_[i] = value[i];
}
unit_[11] = 0;
}
fstream& AmaProduct::store(fstream& file, bool addNewLine)const{
file.open("file.txt");
if (file.is_open()){
file << fileTag_ << "," << sku() << ",";
file<< name() << ",";//here
file<< price() << "," << taxed() << "," << quantity() << "," << unit_ << "," << qtyNeeded();
if (addNewLine){
file << endl;
}
}
file.close();
return file;
}
Header-Datei
, um herauszufinden,#ifndef SICT_AMAPRODUCT_H__
#define SICT_AMAPRODUCT_H__
#include "Streamable.h"
#include "Product.h"
#include "Date.h"
#include "ErrorMessage.h"
#include "general.h"
#include <iostream>
#include <fstream>
namespace sict{
class AmaProduct : public Product{
private:
char fileTag_;
char unit_[11];
protected:
ErrorMessage err_;
public:
AmaProduct(char file='N');
const char* unit()const;
void unit(const char* value);
fstream& store(fstream& file, bool addNewLine = true)const;
fstream& load(std::fstream& file);
ostream& write(ostream& os, bool linear)const;
istream& read(istream& is);
};
}
Name()
const char* Product::name()const{
return name_;
}
char* name_;
void Product::name(char* name){
delete[] name_;
name_= new char[strlen(name)+1];
strcpy(name_,name);
}
wenn jemand interessiert sich für die anderen Dateien ich werde sie laden zu
Ich kann nicht mit dem Lesen dieses ganzen Codes belästigt werden. Aber lesen Sie die Datei und verwenden Sie den gleichen Zeiger –
_ "Wenn jemand an den anderen Dateien interessiert ist, werde ich sie auch hochladen" _ Bitte nein! Reduziere deine Probe auf [MCVE]. Durchlaufen Sie Ihren Code mit dem Debugger. –
Was ist 'name()'? –