因此,對於我的編程任務,我必須將C字符串轉換爲int數組
處理來自輸入文件的數據並對其執行一些操作。
以下是參數。
一位教師的班級不超過40名學生,每個班級需要6次考試。對於班級中每個學生的 ,輸入文件中有一行。該行包含學生的第一個 名稱(不超過10個字符),姓氏(不超過12個字符),ID#(6個字符的字符串)和6個整數測試分數。 輸入文本文件應該被命名爲 student_input.dat
還要注意空格的量 名稱,ID和等級之間 可以是任意的,即任何數字。儘管至少會有一個空間。 最後一個年級與表示行'/ n'結尾的不可見符號之間可能有空格。 每行的字符總數不會超過256,包括行符號的末尾 。
此外,我們不能使用任何涉及字符串的東西,所以幾乎限制了我只使用c字符串。
我的問題是我目前被困在試圖將提取的char字符串轉換爲int數組,以便我可以對它們進行數學運算。
這是我目前的代碼。
int main()
{
char * lastName;
char * firstName;
char * idNumber;
char * testScores;
char rawData[256] = "";
ifstream fin;
ofstream fout;
fin.open("student_input.dat");
if (!fin)
{
cout << "Program terminated. Input file did not open." << endl;
fin.close();
return 1;
}
if(fin)
{
for(int i = 0; i < 41; i++)
{
fin.getline(rawData, 256, '\n');
lastName = strtok(rawData, " ");
cout << lastName;
firstName = strtok(NULL, " ");
cout << firstName;
idNumber = strtok(NULL, " ");
cout << idNumber << " ";
for(int j = 0; j < 6; j++)
{
testScores = strtok(NULL, " ");
cout << testScores << " ";
}
cout << endl;
}
}
return 0;
}
你有沒有試過在for循環中訪問CString的每個字符,並用atoi()將它們轉換爲int,以便將它們保存到一個int數組中? –
我只是在我的第二學期的編碼和講師沒有解釋atoi(),我從來沒有聽說過它? 你可以詳細說明如何使用atoi()嗎? –
http://www.cplusplus.com/reference/cstdlib/atoi/ – Philip