Как объединить два или более потоков в другой или в файл, используя векторы? - PullRequest
0 голосов
/ 08 февраля 2012

Я иду прямо к вопросу.Я делаю это, читая файлы построчно, а затем объединяю строки, но мне нужно хорошее объяснение, как это сделать с векторами.Моя цель - использовать системную команду (Windows XP, 7) для проверки содержимого каталога и отправки его непосредственно в «vector sysoutp» в качестве примера, а затем объединить его в новый файл с информацией из второго файла.Есть идеи?

Например, часть моего кода:

while (getline(myinputfile, line))
    {
        lines++;
        found = line.find(countchars);
        if (found!=string::npos)
        {
            line.erase(int(found) + 4);
            myoutputfile << line << endl;
        }
    }

, где myinputfile заполнен 'syscomm', идея заключается в преобразовании с помощью векторов, но, очевидно, когда я пытаюсь это сделатьчто-то вроде getline(cin, tmp), где 'cin' - это syscomm, ничего не происходит (ну, ошибки всплывающие): (

Также у меня возникает ошибка при использовании этой директивы препроцессора

#define syscomm system("dir /b | find /i /v ".exe .txt"):

createlist.cpp|15|warning: missing terminating " character [enabled by default]|
createlist.cpp|53|error: missing terminating " character|
createlist.cpp||In function 'int main()':|
createlist.cpp|53|error: request for member 'exe' in '"dir /b | find /i /v "', which is of non-class type 'const char [21]'|
||=== Build finished: 2 errors, 1 warnings ===|

Работает без добавления «| find ...», но с его помощью я могу отфильтровать ненужные имена файлов с их известными расширениями.

Спасибо за сотрудничество и извините за 2-в-1 пакет вопросов:)

1 Ответ

0 голосов
/ 08 февраля 2012

Убедитесь, что #define снова ...

#define syscomm system("dir /b | find /i /v ".exe .txt")
// String starts here -^                    ^
// String ends here ------------------------'

Должно быть очень хорошо видно в вашем редакторе, если у него есть раскраска синтаксиса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...