नीचे कोड पाठ फ़ाइल में पढ़ने योग्य नहीं वर्ण लिख रहा है के लिए एक डबल प्रकार मान लेखन:।एक पाठ फ़ाइल
int main()
{
ofstream myfile ("example.txt");
if (myfile.is_open())
{
double value = 11.23444556;
char *conversion = (char *)&value;
strcat (conversion, "\0");
myfile.write (conversion, strlen (conversion));
myfile.close();
}
return 0;
}
मैं वास्तविक संख्या फ़ाइल :(कृपया संकेत में लिखा देखना चाहता हूँ
int main()
{
ofstream myfile ("example.txt");
if (myfile.is_open())
{
double value = 11.23444556;
myfile << value;
myfile.close();
}
return 0;
}
यह putput पैदा करता है:
संपादित नीचे दिए गए उत्तर को देखकर, मैं के रूप में कोड को संशोधित 11.2344 जबकि वास्तविक संख्या 11.23444556 है। मुझे पूरा नंबर चाहिए।
हर किसी को सूचित करने के लिए पद से संपादित करें:
यह एक अस्वरूपित उत्पादन समारोह
इस उद्धरण से है: http://www.cplusplus.com/reference/iostream/ostream/write/
अपठनीय वर्ण ofstream करने के समारोह में लिखने की वजह से कर रहे हैं
@Anisha - डिफ़ॉल्ट 6 अंक प्रदर्शित करने के लिए है, यदि आप उच्च परिशुद्धता चाहते हैं, तो आप नंबर में 10 अंक प्राप्त करने के लिए 'myfile << setprecision (10) << मान;' कर सकते हैं। –
@ बो पर्सन: संख्या में 10 अंक प्राप्त करने के लिए, 'std :: fixed' भी आवश्यक है, या अन्य पिछला शून्य मुद्रित नहीं होगा। – Nawaz
इस मामले में गलत के अलावा, इस तरह एक डबल कास्टिंग, सख्त एलियासिंग नियम का उल्लंघन करता है, इसलिए एक तरफ या दूसरा आपका कोड काम नहीं करेगा। –