Форум программистов, компьютерный форум CyberForum.ru

Полный путь к файлу - C++

Восстановить пароль Регистрация
 
Leningradeс
 Аватар для Leningradeс
10 / 10 / 1
Регистрация: 03.03.2011
Сообщений: 331
26.03.2011, 15:53     Полный путь к файлу #1
Подскажите как вывести в консоли путь к работающему файлу.
Вот к этому например:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "modules.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <time.h>
#define M_PI 3.14159265358979323846
#define EPS 1.e-6
 
namespace Modules
{
    void module1 ()
    {
        fflush (stdin);
        setlocale (LC_ALL, "Russian");
        system ("cls");
        time_t d;
        time (&d);
        printf ("%s\n", ctime (&d));
        printf ("________________________________________________________________________________\nВыполняется Задание № 1\n\n");   
        fflush (stdin);
        float agrad, bgrad, Z1, Z2, Z;
        int ca, cb, i;  
        printf ("Введите значение угла (a) в градусах: ");
        ca = scanf ("%f", &agrad);
        if (ca != 1)
        {
            printf ("\nОшибка! Вводите только цифры!\n");
        }
        float arad = (agrad * M_PI) / 180.;
        printf ("\nВведите значение угла (b) в градусах: ");
        cb = scanf ("%f", &bgrad);
        if (cb != 1)
        {
            printf ("Ошибка! Вводите только цифры!\n");
        }
        float brad = (bgrad * M_PI) / 180.;
        Z1 = (((sin (arad)) + (cos (2 * (brad) - (arad)))) / ((cos (arad)) - (sin (2 * (brad) - (arad))))) + (7. / 9.); 
        Z2 = ((1 + sin (2 * (brad))) / (cos (2 * (brad)))) * (8. / 9.);
        if (fabs (Z2) < EPS)
        {
            printf ("\nДеление на нуль!\n");
        }
        Z = Z1 / Z2;
        printf ("\nZ1 = %f\n", Z1);
        printf ("Z2 = %f\n", Z2);
        printf ("Z = %f\n", Z);
        printf ("\nВычисления завершены. Пересчитать? Да - 1 / Нет - 2\n");
        i = getche ();
        switch (i)
        {
            case '1': Modules::module1 (); break;
            case '2': return;
            default: printf ("\n\nОшибка!"); break;
        }
    }
}
Так вывожу системное время.

C++
1
2
3
time_t d;
time (&d);
printf ("%s\n", ctime (&d));
А с адресом пытался через:

C++
1
2
3
4
int main (char* adress [])
{
printf ("%s\n", adress [0]);
}
Но линкер возмущался на ссылку на неразрешенный внешний символ... ну и выдавал ошибку.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2011, 15:53     Полный путь к файлу
Посмотрите здесь:

C++ Полный путь написания программы
путь к файлу C++
Как получить путь до текущей библиотеки? C++
Полный путь к файлу C++
путь к файлу C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
26.03.2011, 16:25     Полный путь к файлу #2
использовать argv[0], хотя
1) стандарт не гарантирует, что в argv[0] будет настоящий адрес программы
2) нет стандартного способа получить адрес, кроме как скопировать его во временный массив из main'а
под виндой есть несколько способов
1) __argv[0]
2) через GetCommandLine

Добавлено через 2 минуты
+ GetModuleFileName
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
26.03.2011, 16:25     Полный путь к файлу #3
Макрос __FILE__, не ?
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
26.03.2011, 16:31     Полный путь к файлу #4
asics, он вообще то выдает путь до файла исходника во время компиляции
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
26.03.2011, 16:34     Полный путь к файлу #5
Ах да да, призабыл что-то.
Yandex
Объявления
26.03.2011, 16:34     Полный путь к файлу
Ответ Создать тему
Опции темы

Текущее время: 21:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru