Я использую gethostname, чтобы получить имя компьютера, над которым я работаю. В своей основной функции я называю это и получаю UBU24-PS-23 правильное имя моего компьютера. Затем я вызываю функцию и использует имя gethostname, и я получаю другую строку. В моей основной функции gethostname возвращает 0, поэтому он работает, в моей функции он возвращает -1, поэтому он терпит неудачу. Любые идеи почему? Вот мой кодпрохождение char по указателю и получение другого результата
#include <iostream>
#include <sys/unistd.h>
using namespace std;
int funToGetHostName(char * name, size_t len);
int main() {
char hostname[128];
char hostnameFunction[128];
int g = gethostname(hostname, sizeof hostname);
int r = funToGetHostName(hostnameFunction, sizeof hostnameFunction);
cout<<"My hostname: %s\n"<< hostname<< " "<< g<<endl;
cout<<"My hostnameFunction: %s\n"<< hostnameFunction<< " "<< r;
return 0;
}
int funToGetHostName(char * name, size_t len){
return gethostname(name, sizeof len);
}
SizeOf (LEN) такая же, как SizeOf (size_t). И size_t (возможно) имеет ширину 32 или 64 бит. – Outback