В онлайн компиляторе все норм
char * readLine() {
std::string line = "";
...
std::cout<< (char *)line.c_str()<<"\n"; // Response - все норм
return (char *)(line.c_str());
// в этот момент line уничтожается, и вместе с ним становятся недействительными
// указатели полученные функцией c_str()
}
std::string
, не мудри. Как работают функции sleep
Socket* Socket::accept() { /* ГДЕ то тут инициализирую this->address = str_addr; // 127.0.0.1 */ return new Socket(client_sock_id); } // ВЫЗЫВАЮ ЗДЕСЬ Socket *c = s.accept(); // с->getAddress()// выходят русские буквы МММ....-штук под 100 или больше
надеюсь что я что-то не правильно делаю.
В моём случае recv взращает -1, что говорит о том что произошла ошибка, какая и почему?.
errno
, perror
, вот это всё.while(int s1 = accept(sock, 0, 0)) //принимаем соединения для работы с ними { int k = recv(sock, &buff, sizeof(buff), MSG_NOSIGNAL);
s1
, а recv
читает из sock
. Как сохранять файл в процессе запущенном из другого процесса?
в итоге все выполняется отлично в консоль выводится все верно, но файл не создается.
float b; ... if (b == b)
Two values (other
than NaNs) with the same object representation compare equal, but values that compare
equal may have different object representations.
. Пишу приложение на C++...
как брать, при вызове программы с помощью контекстного меню, полный путь откуда вызывается эта программа ("--cd=%v.")
#pragma once
#include "Vector.h"
class AbstractFigure
...
#pragma once
#include "AbstractFigure.h"
class Vector :
public AbstractFigure
...
#pragma once
class Vector;
class AbstractFigure
{
public:
virtual void Scale() = 0;
virtual void Rotate() = 0;
virtual void Move(const Vector& direction) = 0;
};
Что происходит в данном случае
int ** ptr = &arr;
initialization from incompatible pointer type
.Получается что далее ptr == arr == &arr
==
использованное в смысле "численно равно" действительно имеет место. Но типы этих трёх значений разные: int **
/int[4]
/int (*)[4]
Почему нельзя получить указатель на указатель на массив в данном случае?
#include <stdio.h>
int main(void)
{
int arr[4] = {1, 2, 3, 4};
int *pa = arr;
int ** ptr = &pa;
printf("%d", **ptr); // 1
return 0;
}
void __cdecl main()
.int main
вместо void main
( Роман ).