Monday 15 March 2010

c++ - How to assign values to a variable when reading in a CSV file? -


  स्ट्रेट एलएलजीएम {फ्लोट लाट; फ्लोट लांग; }; Int main () {string filename; Int count = 0; स्ट्रिंग मान; स्ट्रिंग अस्थायी; इन्सस्ट्रीम इन्फाइल 2; फ़ाइल नाम = "एलएलएमग्रीडिंग्स 2 सीएसवी"; infile2.open (फ़ाइल का नाम); अगर (infile2.fail ()) {cout & lt; & lt; "फाइल खोलने में त्रुटि" & lt; & lt; endl; बाहर निकलने के (1); } जबकि (! Infile2.eof ()) {getline (infile2, temp, ','); गिनती ++; } Cout & lt; & lt; गिनती & lt; & lt; endl; Cout & lt; & lt; endl; infile2.close (); इफस्ट्रीम इन्फाइल; infile.open (फ़ाइल का नाम); एलएलजीएम * अंक; अंक = नए एलएलजीएम [गणना]; के लिए (int i = 0; i & lt; count; i ++) {infile & gt; & gt; अंक [i] .Lat; Infile & gt; & gt; अंक [i] .Long; Cout & lt; & lt; अंक [i] .Lat; Cout & lt; & lt; अंक [i] .Long; } Cout & lt; & lt; endl; वापसी 0; }   

मेरा प्रश्न यह है, मैं सीएसवी फ़ाइल से अलग-अलग वैरिएबल में पढ़ने के मानों को कैसे निर्दिष्ट कर सकता हूं?

उदाहरण के लिए:

35.123445, -85.888762 (फाइल से एक पंक्ति में मूल्य) मैं अक्षांश के पहले अल्पविराम से पहले संख्या और देशांतर होने वाला दूसरा मान चाहूंगा।

कोई मदद काफी सराहना की जाएगी!

आप अपना स्वयं का std :: ctype पहलू बना सकते हैं जो कि अल्पविराम के चरित्र की व्याख्या करेगा सीमांकक के रूप में फिर आप इसे अपनी फ़ाइल स्ट्रीम पर लागू कर सकते हैं और उस स्ट्रीम की सामग्री को सरणी में डालें।

  #include & lt; iostream & gt; # शामिल & lt; locale & gt; # शामिल करें & lt; sstream & gt; Struct my_facet: std :: ctype & lt; wchar_t & gt; {Bool do_is (मास्क एम, char_type c) const {if ((एम एंड स्पेस) & amp; amp; amp; amp; amp; सी == एल '') {वापसी झूठी; } अगर ((एम एंड स्पेस) & amp; amp; amp; सी == एल ',') {वापस सत्य; } वापसी ctype :: do_is (m, c); }}; Int main () {std :: wifstream infile (फाइलनाम); Infile.imbue (std :: locale (infile.getloc), नया my_facet)); के लिए (इंट I = 0; i & lt; count; ++ i) {यदि ((infile & gt; अंक [i] .at) और amp; amp; amp; (infile & gt; & gt; बिंदु [i]। लोंग)) {Std :: wcout & lt; & lt; अंक [i] .Lat; Std :: wcout & lt; & lt; अंक [i] .Long; }}}   



No comments:

Post a Comment