मैं एक फ़ाइल से डेटा को कैसे पढ़ अगर मेरी फाइल कॉमा सेपरेटेड वैल्यूज़कैसे करें कॉमा सेपरेटेड वैल्यूज़
1, 2, 3, 4, 5\n
6, 7, 8, 9, 10\n
\n
साथ और फ़ाइल को पढ़ने के बाद इस तरह है, मैं चाहता हूँ के साथ पाठ फ़ाइल से/में पढ़ने-लिखने डेटा को दूसरी फ़ाइल में ऊपर उसी प्रारूप के रूप में लिखने के लिए।
मैं, लाइनों की कुल संख्या प्राप्त
string line;
while(!file.eof()){
getline(file,line);
numlines++;
}
numline--; // remove the last empty line
का उपयोग कर सकते हैं, लेकिन मैं कैसे एक पंक्ति/लाइन में अंकों की कुल संख्या पता कर सकते हैं ??
मेरे पास डेटा स्टोर करने के लिए स्याही के वेक्टर भी हैं। तो, मैं पहली पंक्ति को पढ़ना चाहता हूं और उसके बाद उस पंक्ति में तत्वों की कुल संख्या गिनती हूं, यहां 5 (1,2,3,4,5) और उन्हें सरणी/वेक्टर में स्टोर करें, और अगली पंक्ति पढ़ें और उन्हें स्टोर करें जब तक मैं ईओएफ तक नहीं पहुंच जाता तब तक वेक्टर फिर से।
फिर, मैं, फाइल करने के लिए डेटा लिखने के लिए चाहते हैं फिर से, मुझे लगता है इस फाइल करने के लिए डेटा लेखन के काम करेगा,
numOfCols=1;
for(int i = 0; i < vector.size(); i++)
{
file << vector.at(i);
if((numOfCols<5) file << ",";//print comma (,)
if((i+1)%5==0)
{
file << endl;//print newline after 5th value
numOfCols=1;//start from column 1 again, for the next line
}
numOfCols++;
}
file << endl;// last new line
तो, मेरी मुख्य समस्या फ़ाइल से डेटा को पढ़ने के लिए कैसे है अल्पविराम से अलग मूल्यों के साथ ??
धन्यवाद
यह क्या करता है? std :: स्ट्रिंगस्ट्रीम linestream (रेखा); – Curious
यह एक स्ट्रिंग स्ट्रीम ऑब्जेक्ट बनाता है। यह सिर्फ एक स्ट्रीम की तरह कार्य करता है, जैसे std :: cin, std :: cout या फ़ाइल स्ट्रीम std :: fstream, लेकिन डेटा के स्रोत के रूप में एक स्ट्रिंग का उपयोग करता है। तो असल में यह सिर्फ एक पंक्ति की धारा है। –
जब मैं संकलित करने का प्रयास करता हूं, मुझे यह त्रुटि मिलती है, चर 'std :: stringstream linestream' में प्रारंभकर्ता है लेकिन अधूरा प्रकार है। मैंने आवश्यक सभी शीर्षकों को शामिल किया है। – Curious