1
輸入文件包含要放入數組的14個狀態首字母(TN,CA,NB,FL等)。下面的代碼清除了編譯器,但是當我告訴程序文件名時,它會發出一堆空格,其中包含一些模糊的空格,第三個空格包含'@'符號。我認爲問題是與我的功能不完全確定什麼具體雖然任何幫助非常感謝!將數據從輸入文件讀取到數組時出錯
輸入文件設置了狀態縮寫爲一個在另一個的頂部:
TN PA KY MN CA 等
void readstate(ifstream& input, string []);
int main()
{
string stateInitials[14];
char filename[256];
ifstream input;
cout << "Enter file name: ";
cin >> filename;
input.open(filename);
if (input.fail())
{
cout << " file open fail" << endl;
}
readstate (input, stateInitials);
input.close();
return (0);
}
void readstate (ifstream& input, string stateInitials[])
{
int count;
for (count = 0; count <= MAX_ENTRIES; count++)
{
input >> stateInitials[count];
cout << stateInitials[count] << endl;
}
}
有問題的閱讀數據以及嘗試使用getline()。更具體地說,getline(input,stateInitials),並且我從void *到char *得到無效的反轉錯誤,並且無法將char *轉換爲size_t *。不確定老師的'*'是什麼都沒有討論過。 – user3317020
你的輸入文件格式化到底如何?每個首字母是一行嗎?所有的初始聚集在一起,沒有空格?逗號分隔?製表符分隔? – merlin2011
好吧,我得到了程序來讀取文件中的字符。但是例如打印出'KY'的情況下,我在一行上得到'K',在它下面的'Y'上得到'Y'。該文件與bot字符一起設置在一起。一長列。 – user3317020