строка из собственной программы [закрыт]

123
01 августа 2019, 16:00

Пытаюсь получать строку из main.cpp

int main(int argc, char* argv[])
{   
    ifstream f(argv[0]);
    string s;
    f >> s;
    cout << s << endl;
    return 0;
}

какую строку я получаю?

Answer 1

А никакую - в том смысле, что если там будет корректный путь к файлу, то это будет путь к выполняющемуся файлу.

Проверьте - выведите

cout << argv[0];

и вы увидите, что будет выведено имя выполняющегося файла (.exe в Windows и подобных операционных системах), а не имя исходного файла (.cpp).

А читать .exe-файл как текстовый... В лучшем случае самое начало прочтете - какое-нибудь MZ - под Windows, понятно :)

READ ALSO
Избавиться от QSignalMapper

Избавиться от QSignalMapper

Мне нужно что бы несколько объектов вызывали один слот, и можно было понять, какой объект вызвал слотВ данном примере я попробовал использовать...

121
Функции вызывают друг друга с++

Функции вызывают друг друга с++

Я совсем поверхностно знаю с++, но эту проблему мне необходимо срочно решить(нет времени на прочтение книги)

98