2016-04-01 16 views
0

私は学生をプログラミングしていて、教師はファイルからいくつかの名前を2D char配列に格納するように指示しました。今は文字列では簡単だとわかっていますが、先生はcstringだけを使うように制限しています。ファイルから2D char配列に名前を挿入する方法

これは私のコードです:

#include<iostream> 
#include<fstream> 
#include<cstring> 
int main() 
{ 
char names[5][50]; 
int row=0,col=0,x=0; 
ifstream input("file.txt"); 

while(input.good()) 
{ 
    input.getline(names[row],50); 
    row++; 
    cout<<names;   
} 
input.close(); 
return 0; 

}

それはゴミ値を与えています。 これは私の入力ファイルです:

  • アアシムnadeem
  • タルハガム
  • naeemのタヒルアリフ
+0

「ごみ値」とはどういう意味ですか? 2D配列全体を印刷しようとすると、どのように見えますか? –

+0

ファイルから読み込んでいる行が50より小さい場合、残りの配列はガーベジです。 –

+0

@FirstStepはい、最初はゴミ箱に名前が表示されますが、名前は表示されません 出力は0x246fe04を繰り返し返します –

答えて

2

cout<<names; athar

  • アフマドのサリーム
  • サリームは、全体を印刷しようとしているように見えます2次元配列ですが、coutはそれをアドレスとして扱い、それだけを表示します。代わりに個々の名前(例:out<<names[row-1];)を試して印刷する場合、これらは文字ポインターなので、で印刷する方法を知っています。

  • 関連する問題