0

私の出力はわずかにずれています。今、私の出力は次のようになります。

 Is this correct??
 My Project works!!!!
 *************** I don't know

次のようにする必要があります。

Is this correct???
My Project works!!!!!
****************I don't know

null 文字/スペースが 3 行すべてを台無しにしており、この場合に null を無視する方法がわかりません。

私の入力ファイルは次のようになります。

63-27.8 18spaces L Is this correct
33fill 21b5 l My Project works
42??? 28-09ng5 R I don't know

ここに私のコードがあります:

#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>


using namespace std;

int main()
{
    string filename;
    int a, b, c; // ASCII values for fill character
    int aw, bw, cw; // width values for setwidth
    char ch1, ch2, ch3; // character for right or left justification
    string s1, s2, s3; // strings

    ifstream inData;

    cout << "please enter the location of the file you wish to input: " << endl;
    getline(cin, filename);

    inData.open(filename.c_str());


    inData >> a;
    inData.ignore(100, ' ');
    inData >> aw;
    inData.ignore(100, ' ');
    inData >> ch1;
    getline(inData, s1);
    inData >> b;
    inData.ignore(100, ' ');
    inData >> bw;
    inData.ignore(100, ' ');
    inData >> ch2;
    getline(inData, s2);
    inData >> c;
    inData.ignore(100, ' ');
    inData >> cw;
    inData.ignore(100, ' ');
    inData >> ch3;
    getline(inData, s3);
    {
        if  (ch1 == 'l' || ch1 == 'L')
            cout << left;
        else if (ch1 == 'r' || ch1 == 'R')
            cout << right;
        else
            cout << "error" << endl;
    }
    cout << setw(aw) << setfill(char(a)) << s1 << endl;
    {
        if  (ch2 == 'l' || ch2 == 'L')
            cout << left;
        else if (ch2 == 'r' || ch2 == 'R')
            cout << right;
        else
            cout << "error" << endl;
    }
    cout << setw(bw) << setfill(char(b)) << s2 << endl;
    {
        if  (ch3 == 'l' || ch3 == 'L')
            cout << left;
        else if (ch3 == 'r' || ch3 == 'R')
            cout << right;
        else
            cout << "error" << endl;
    }
    cout << setw(cw) << setfill(char(c)) << s3 << endl;

    return 0;
}

この問題をどのように修正しますか?

4

0 に答える 0