Проблема при доступе к файлам через аргументы командной строки - PullRequest
0 голосов
/ 04 апреля 2020

Я читаю и пишу в файл, доступный из аргументов командной строки! Однако, когда я пытаюсь поместить переменную в тело переменной while, она запускается 1 раз, записывая слово в файл, как положено, и во втором слове появляется ошибка сегментации. Например, если я поставлю непосредственно перед тем, как l oop завершит m = m + 3, это вызовет ошибку сегментации. Есть мысли о том, почему это происходит?

infile.open(argv[j+1],ofstream::app);
            file.open(argv[j+1],ofstream::app);
            while (!infile.eof()) {
                infile >> line;
                for (i=0; i<strlen(argv[j+2]); i++) {
                    if (int(argv[j+2][i])>=65 && int(argv[j+2][i]) <=90) {
                        if ((line[i*3]-'0')*100 + (line[i*3+1]-'0')*10 + (line[i*3+2]-'0')==int(argv[j+2][i]) + 32) {
                            wordcheck=wordcheck+1;
                            cout << wordcheck << endl;
                        }
                    }
                    else if (int(argv[j+2][i]) < 100 ) {
                        if (int(argv[j+2][i])==(line[i*3+1]-'0')*10 + (line[i*3+2]-'0')) {
                            wordcheck=wordcheck+1;
                            cout << wordcheck << endl;
                        }
                    }
                    else {
                        if (int(argv[j+2][i])==(line[i*3]-'0')*100 + (line[i*3+1]-'0')*10 + (line[i*3+2]-'0')) {
                            wordcheck=wordcheck+1;
                            cout << wordcheck << endl;
                        }
                    }   
                }
            }
            infile.close();
            file.close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...