Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eternal Idol

#71
El primer indice de un array es el 0.

Las cadenas no son unsigned y o la estructura tiene un puntero (por lo que apunta a memoria que reservas fuera de la misma) o tiene un array de caracteres de un tamaño fijo. En este caso declaraste 20 punteros a unsigned char. ¿Es eso lo que querias?

Código (c++) [Seleccionar]
clist[0].data[0] = "hola";

¿O una cadena de 20 caracteres? Si era esto ultimo:
Código (c++) [Seleccionar]
char  data[20];

Tenes que COPIAR la cadena, no asignarla. De esta manera un poco enrevesada se evitan problemas de buffer overflow (seguramente las cadenas de entrada no seran hola siempre ni tendran un tamaño fijo):
Código (c++) [Seleccionar]
strncpy(clist[0].data, "hola", sizeof(clist[0].data) - 1);
clist[0].data[sizeof(clist[0].data) - 1] = 0;
#72
Te lo dije en el otro hilo, con un ejemplo y un enlace que lo explica detalladamente. Tenes que pasar el parametro por referencia y no por valor.

void uno(int *c)
{
  *c=19;
}
...
uno(&d);
#73
No, una cosa es ENCONTRARLO para frenar y otra muy diferente escribir el 0, eso hace tu codigo y ninguna funcion para escribir una cadena en pantalla lo hace  ;) ¿Para que le sacaste el 13 a msg?  ;D ;D ;D ¿Para que no pasara esto?



¿Crees que si llamo a printf con "Hola\r" como parametro pasa eso acaso? Necesitaria llamar a putc con el 0 para que lo escribiera y pasara lo mismo que con tu macro print.

PD. Si se puede. char nnts[] = { 'N', 'E', 'W', 'B', 'I', 'E', 0xCC, 0xCC };
printf("%.*s", 6, nnts);
#74
No te mato, no hace ninguna falta, no se usa la segmentacion en modo protegido (32 bits) o largo (64 bits), se usa un modelo de memoria plano. Y se trabaja con memoria virtual asi que olvidate de acceder a la RAM y el hardware directamente, en Windows se usan sus APIs asi como en cualquier otro S.O. moderno.
#75
No se hacen tareas, lo que yo te mande logra cambiar la direccion a la que apunta el puntero declarado en main desde otra funcion y punto.
#76
Una forma:

Código (c++) [Seleccionar]
std::vector<std::string> secuencia { std::istream_iterator<std::string> { std::istringstream("4 5 7 8") }, std::istream_iterator<std::string> {} };




Código (c++) [Seleccionar]
for(auto x : secuencia)
   std::cout << x << std::endl;
#77
Visual C++: https://docs.microsoft.com/en-us/cpp/?view=msvc-160

Podes usar DirectX, OpenGL o Vulkan por ejemplo pero mejor concentrate en aprender los fundamentos basicos del lenguaje y ya con el tiempo decidiras que API usar.
#78
marax: de nada, me alegro de que lo hayas solucionado.

Danielㅤ: super intersante, tambien estan los operadores new y delete.
#79
Cita de: B€T€B€ en 21 Octubre 2021, 22:59 PM
A la UE le quedan dos telediarios y como toquen las narices a Polonia, sólo uno.

Lo anoto para recordartelo en 10 años.
#80
Cita de: marax en 21 Octubre 2021, 17:50 PM
Ya lo se ya lo se... Fue una metafora. Me referia a que si el sistema operativo estaba detectando un programa que aparentemente no esta haciendo nada mas que dar vueltas en la nada.

Si ese fuera el caso no le daria el 100% de un procesador logico a cada hilo de waste.exe  ;)

Cita de: MinusFour en 21 Octubre 2021, 17:43 PM
Vaya, juraría que windows le daba prioridad a uno o dos núcleos por defecto. ¿Quizás mejore el rendimiento si le das una afinidad a los primeros dos cores? Siendo el proceso de un solo hilo...

Edit: Aún así, no creo que mejore el rendimiento drásticamente.

Exactamente lo mismo de arriba.