我有一個矢量vec(256,0),我用它來記錄輸入文件中字符的類型和頻率。所以給定3 A的我的vec [65]將保持3的值。我正在嘗試向輸出文件寫入總計的非空字符,然後是ASCII字符和出現頻率。如何從數組寫入輸出文件?
int count = 0;
for (int i = 0; i < 256; i++)
if (vec[i] != 0) // if not 0 count it
count++;
// print the count as the first char in output file
outfile << count;
for (int i = 0; i < 256; i++)
if (vec[i] != 0)
outfile << (char) i << vec[i];
給定輸入 「A BB C」 我要的是:
4a1b2c1
但我得到的是:
1 2a1b2c1
什麼我能解決這個問題嗎?
我會開始正確地初始化你的for循環,而不是使用* indeterminate *值。這:'for(int i; i <256; i ++)'*錯*。 – WhozCraig
謝謝,那是一個錯字。 – Napalidon
你可能會發現'std :: accumulate()'和'std :: isalnum()'同樣有幫助。 – WhozCraig