#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string strFile = "";
ifstream myfile ("data.doc");
string strPgm = "{ \"c\" : { \"p1\": \"v1\", \"p2\":\"v2\" } }";
cout << "\n string from program is : " << strPgm <<"\n";
if (myfile.is_open())
{
string line;
while (getline (myfile,line))
{
strFile = strFile+line;
}
myfile.close();
cout <<"\n string from file is : " << strFile <<"\n";
}
else cout << "Unable to open file";
return 0;
}
In meinem Code, kommt Backslash in der Datei ausgegeben, aber es ist in der Ausgabe von hartcodiert Variablenwert in der program.I Uhr abwesend nicht sicher, wenn ich etwas verpasse.Abwesenheit von Backslash in dem fest codierten variablen Ausgang, aber in Dateiausgabe
Der Inhalt der Datei Data.doc ist das gleiche wie in der Variablen strPgm, Katze Data.doc,
"{ \"c\" : { \"p1\": \"v1\", \"p2\": \"v2\" } }"
Aber ich bin immer die Ausgabe als,
String aus Programm:
{ "c" : { "p1": "v1", "p2": "v2" } }
Zeichenfolge aus der Datei ist:
"{ \"c\" : { \"p1\": \"v1\", \"p2\": \"v2\" } }"
Warum ist das so? Beide sind gleiche Saiten. Aus diesem Grund tritt beim Konvertieren von strFile in jsonFormat und beim Parsen dieses Problems ein Problem auf.
Ich weiß, was die strPgm tut.Aber ich habe nicht verstanden, warum die Ausgaben sind unterschiedlich, wenn die gleiche Zeichenfolge in einer Datei gespeichert ist.Ich möchte nicht Backslashes.In der Tat schreiben, ist meine Anforderung, dass beim Kopieren oder Speichern der Inhalte der Datei in eine Variable, und dann drucken, sollte es keine umgekehrten Schrägstriche enthalten.Während ich hart Codierung bin, wird Backslash Escaped.But während ich aus der Datei lesen, ist die gleiche Sache nicht passiert. – BusyTraveller
Die Datei enthält bereits den umgekehrten Schrägstrich, da die Datei die Ausgabe eines Python-Programms enthält. Und ich finde keine Möglichkeit, den JSON ohne Backslash in eine Datei zu speichern. – BusyTraveller
@Busy: Ich verstehe deine Sorge nicht. Ich habe erklärt, was Ihre C++ - Zeichenfolge ist. Sie haben gesagt, dass Ihre Datei etwas anderes enthält. Nun, deshalb sind sie anders. Fragen Sie _really_ wirklich, wie Sie eine Zeichenkette aus einer Datei lesen können?Weil deine Frage das nicht sagt! Ich habe Ihnen auch gezeigt, wie Sie eine C++ - Zeichenkette mit Literalbackslashes erzeugen, falls Sie das wollen. –