I'm pretty new in the coding world so i can't seem to understand this error. I'm creating a product management program wherein you enter product details and put that data on a file and then view it from the file via cmd but this error keeps popping up whenever I use fprintf or fputs.
my code:
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
struct product{
string Id,Name,Brand;
int type, price, quan;
product *next;
};
int main(){
product *a,*b,*c,*d,*e,*f;
a = new product;
b = new product;
c = new product;
d = new product;
e = new product;
f = new product;
FILE *productRecord;
productRecord = fopen("Product Record","r");
int choice;
cout << "\nProduct Record\n1)Add Product\n2)Update Product Details\n3)Delete Product\n4)View Product By Brand or Type\n5)Exit\n\nEnter Choice: ";
cin >> choice;
if(choice == 1){
char tempId[11],tempName[60],tempBrand[60];
int temp_type, temp_price, temp_quan;
productRecord = fopen("Product Record","a");
cout << "Enter Product ID No.(Maximum of 10 Digits): ";
cin >> tempId;
a -> Id = tempId;
a -> next = b;
cout << "Enter Product Name(No Special Character): ";
cin >> tempName;
b -> Name = tempName;
b -> next = c;
cout << "Types:Canned(1),Frozen(2),Drinks(3),Produce(4),Meat/Seafood(5),Cleaning(6)\nEnter Product Type(1-6): ";
cin >> temp_type;
c -> type = temp_type;
c -> next = d;
cout << "Enter Product Brand(No spaces): ";
cin >> tempBrand;
d -> Brand = tempBrand;
d -> next = e;
cout << "Enter Product Price: ";
cin >> temp_price;
e -> price = temp_price;
e -> next = f;
cout << "Enter Product Quantity: ";
cin >> temp_quan;
f -> quan = temp_quan;
f -> next = NULL;
fprintf(productRecord, "%s", a -> Id); //this is the error
fclose(productRecord);
}
else if(choice == 2){
}
else if(choice == 3){
}
else if(choice == 4){
}
else if(choice == 5){
}
return 0;
}
FILEand related instructions with c++?fprintfdoesn't know about C++std::stringobjects).