-1

よし、取り引きだ。以下に、ファイルからの入力を示します。

 3332453:Ryan:77 Easy Street
 3324532:Tom:1 Victory Lane
 3326854:Gary:69 Sexual Ave
 3304357:Susan:11 Straight Road
 3343651:Frank:96 Backwards street

私がやろうとしているのは、番号、名前、アドレスの順に読み込んでBST. すべてをチェックした後、インサートは正常に機能していると思います。Name と Address は各位置に正しく挿入されますが、key1 は 0 または -955472 のままです。上記の番号はすべて 7 桁の長さ (電話番号) を想定しています。以下は、これまでに行った最も近い試みと考えられるものです。誰かにコードを提供してくれるように頼むのではなく (それは役に立ちますが)、実装が機能しない理由と、それを改善する方法を説明してくれます。ありがとうございました。

 ifstream dataFile;
dataFile.open ("/Users/revaes12/Desktop/BinarySearch/BinarySearch/phone.dat.rtf");
for (int counter = 0; counter < 5; counter++)
{
        getline(dataFile, tmp,  ':');
        person[counter].key1 = atoi(tmp.c_str());
        getline(dataFile, person[counter].name1,':');
        getline(dataFile, person[counter].address1);

        PNTree.insert(person[counter].key1, person[counter]);
}
dataFile.close();

insert呼び出しのプロトタイプは " template <class KeyType, class DataType> bool BST<KeyType, DataType>::insert (KeyType key, DataType data)" です。また、atoi は C++ ではなく C であることは理解していますが、stringstream も試してみましたが、これも失敗しました。助けてください!

4

1 に答える 1