2014-01-16 46 views
0

我的代碼似乎編譯,只要我註釋掉cin.get行,但我不明白我是如何濫用它。作爲第二個問題,一旦我弄清楚我在那裏做了什麼錯誤,它會對我使用getlength來計算該字符串的長度,然後使用prtintf將該長度的cstring打印到輸出文件計劃加入?我不允許使用字符串順便說一句。我在這裏使用「cin.get」有什麼問題?

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

using namespace std; 

struct thisType 
{ 
    char peiceOne[100]; 
    char peiceTwo[100]; 
    char peiceThree[100]; 
}; 

void requestData(); 

void storeData(char *charArray[]); 

int main(){ 
    thisType tempStruct[100]; 

    requestData(); 

    return 0; 

} 

    void requestData(){ 
     cout << endl << "Please enter data as follows, without brackets: [peiceOne];" 
      << "[peiceTwo];[peiceThree] " << endl; 

    } 

    void storeData(char *tempStruct[100]){ 
     //cin.get(tempStruct[0], 100, ";"); 
    } 
+0

請考慮使用'std :: string'和提取操作符'operator >>'來讀取C++中的'std :: istream'。 – user2176127

+0

這是一個類,我不允許使用字符串,但我可以使用cstrings。 – user3169700

+0

爲什麼你會包含''呢?對於您的代碼,只需要''。 C字符串不需要被「包含」,它們是內置類型。 ''包含你只需要字符串操作的東西。 – user2176127

回答

1

cin.get(),第三個參數預期爲一個char,但你傳遞一個字符串,它是const char*類型。

您應該將分隔符放在單引號中,以解決錯誤。

相關問題