LINUX.ORG.RU

С++ readlink


0

1

Пытаюсь получить путь к запущеной проге таким кодом:

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <sstream>

using namespace std;

int main() {
    char buf[255];
    readlink("/proc/self/exe",buf,255);
    string fullpath = buf;

    cout << fullpath << endl;

    return 0;
    }

Но fullpath выводит с какой то фигней на конце: /home/user1/site1/workspace/test/bin/Debug/testt�Z

Хотя путь должен быть таким: /home/user1/site1/workspace/test/bin/Debug/test

В чем проблема и как решить?


readlink не добавляет '\0'

AptGet ★★★
()
Ответ на: комментарий от dpkg-i
RETURN VALUE
       Upon  successful  completion,  readlink()  shall  return the count of bytes placed in the buffer. Otherwise, it shall return a value of -1, leave the buffer unchanged, and set errno to indicate the error.
geekless ★★
()
Ответ на: комментарий от geekless

Из вредности;-)

Нулями, не единицами же... ничего плохого!

AIv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.