次のようなテキスト ファイルがあります。
「2 スペード 3 スペード 4 スペード」など。
このコードを使用して単語を抽出しています:
char *temp;
temp = new char[20];
fin >> *temp;
charCount=stringLength(temp);
deckPtr->rank = new char[charCount+1];
stringCopy(temp, deckPtr->rank);
fin >> *temp;
charCount=stringLength(temp);
deckPtr->suit = new char[charCount+1];
stringCopy(temp, deckPtr->suit);
2 番目と 3 番目の部分はループ内にあり、すべての構造体メンバーを書き込んだ後、次の「カード」に進みます。
(stringCopy と stringLength は私が自分で書いた関数であり、動作することがテストされています)
後で構造体のメンバーを数えてみると、一度に 1 つの文字しか抽出されていないことがわかりました。たとえば、最初の要素のランクは 't'、スートは 'w' で、その後、'o' と 's' で次のカードのスートとランクに続きます... 明らかに、時間を抽出しています。空白で終わる文字列全体を取得するにはどうすればよいですか?