2014-10-16 23 views
-2

想寫文件到一個文件,但一旦我進入它命名提示點擊文件關閉我如何編寫信息字與C++

這是我的代碼

#include <iostream> 
#include <fstream> 
#include <string> 

using namespace std; 

void login(){ 
    char name, email, address; 

    ofstream myfile; 
    myfile.open ("user.dll"); 
    cout << "Enter Name : "; 
    cin >> name; 
    cout << "Enter Email : "; 
    cin >> email; 
    cout << "Enter Address : "; 
    cin >> address; 
    myfile <<name << email << address << endl; 

} 
int main() 
{ 
    login(); 
    system("pause"); 
    return(0); 
} 

和的是顯示 diaplay

回答

2

你應該進入std::string不是char秒。變化

char name, email, address; 

string name, email, address; 

爲什麼它似乎跳過你的第二個和第三cin提示?

您使用std::cin來讀取流中的輸入。在第一個提示中,您輸入了"chrys",後者將5 char s添加到流中。

如果你遵循的cin的操作,你基本上有:

name = 'c' 
email = 'h' 
address = 'r' 

如果你要使用getch()例如,這將是顯而易見的。如果你設置爲char,你將不得不使用類似C的方法讀入char[],但由於這是C++,std::string對你的情況來說是一個更好的選擇。

+2

你可能會想使用['std :: getline'](http://en.cppreference.com/w/cpp/string/basic_string/getline)而不是運算符'>>'if'name '和'地址'可能包含空格。 – 5gon12eder 2014-10-16 20:50:49

+1

雅。讓字符串完成繁重的工作。或者你可以嘗試字符名稱[80],然後玩緩衝區和指針,但爲什麼? – user1269942 2014-10-16 20:53:17

+0

@ user1269942請不要給他們任何想法:)接下來的事情,你知道我們會有'char *'問題左右彈出! – CoryKramer 2014-10-16 20:54:03

相關問題