-4
這是一個與file handling
有關的問題,我們將數據輸入到文件中,然後顯示其內容。我無法理解行cin.get(ch);
如何幫助輸出。我發現如果我從代碼中刪除這一行,程序將無法在第二次迭代中爲變量標記獲取輸入。爲什麼這樣?我在這裏工作get()
有點困惑。我的代碼:get()在C++代碼片段中的含義
#include<iostream>
#include<conio>
#include<fstream>
int main()
{
ofstream fout;
fout.open("student",ios::out);
char name[30],ch;
float marks=0.0;
for(int i=0;i<5;i++)
{
cout<<"Student "<<(i+1)<<":\t Name:";
cin.get(name,30);
cout<<"\t\t Marks: ";
cin>>marks;
cin.get(ch); **// the confusion is in this line**
fout<<name<<"\n"<<marks<<"\n";
}
fout.close();
ifstream fin;
fin.open("student",ios::in);
fin.seekg(0);
cout<<"\n";
for(i=0;i<5;i++)
{
fin.get(name,30);
fin.get(ch);
fin>>marks;
fin.get(ch);
cout<<"Student Name: "<<name;
cout<<"\t Marks: "<<marks<<"\n";
}
fin.close();
return 0;
}
也許有一個調用來讀取換行符是在輸入緩衝區中的前輸入之後呢? –
輸入是怎樣的? – user0042
使用'std :: string',然後從流中讀取正常的'cin >> name'。反正'cin.get(ch)'的目的是什麼?請提供投入和預期產出。 – AndyG