ファーストをオフに使用していない私はC++に新しいですので、何かを知っているか、正しくないされていないために私をマークダウンいけません。私は私のC++プログラムに読み込もうとしているファイルを持っています。私はプロジェクトの練習をしています。私は作成してオブジェクトを作成しなければならず、各インスタンスが7つの変数を含むファイルの1行を表示します。このファイルにはデータベースが含まれています。テキストファイルの形式は次のとおりです。入力ファイルと異なる種類のデータ及びベクター
// String String Character Int Int Char Int
// String String Character Int Int Char Int
// etc.
正確に350のデータメンバーがあります。それ以上のことはありません。だから私は配列を使用しています。 このプロジェクトには、指定されていないベクターは使用できません。
配列のみを使用して、このアプローチする最良の方法は何ですか?私はそれが内容をオフに印刷することを試みたときに
for (int l = 0; l < max_size; l++) {
myfile >> myintarray[l];
}
for (int k = 0; k < max_size; k++) {
myfile >> mychararray[k];
}
for (int i = 0; i < max_size; i++) {
myfile >> myarray[i];
// print artists and title;
}
// Then I have to put it the object. Store as such....
myloop = 0;
a = 2;
b = 5;
while (myloop < 50) {
myartwork[myloop].setRoom(mychararray[b]);
myartwork[myloop].myart.setMeduim(mychararray[a]);
a += 7;
b += 7;
myloop += 1;
}
// more code where I do the same thing with characters
// same things with strings.....
:
私の最初の試みは、3つの配列を作成することでした。それはincorectだった。とジャンボジャンボ。 だから私はそれが文字を取ることができないすべての番号の配列を格納しようとしていると私は、エラーを印刷していると思いますか?それが正しいかどうかはわかりません。
だから、文字列だった配列を1つだけ使用しようとしましたが、各文字列をchar型またはint型に変換しました。それは痛みで、私は間違いがあります。キャラクタータイプのハンドリング方法がわかりません。
myloop = 0;
a = 3;
b = 4;
c = 6;
while (myloop < 50) {
//std::stoi (str_dec,&sz)
std::string::size_type sz;
// my object (instance). data......Try to convert this.
myartwork[myloop].mymysize.setLength(std::stoi(myarray[a], &sz));
myartwork[myloop].mymysize.setWidth(std::stoi(myarray[b], &sz));
myartwork[myloop].setPrice(std::stoi(myarray[c], &sz));
a += 7;
b += 7;
c += 7;
myloop += 1;
}
これを行うには、これらの2つの方法がありますか?正しい軌道にいるのですか?同じ容量で多くの配列を使用して
_ "私はベクトルを使用できません" _。 'std :: deque'を使ってください。または 'std :: list' –