elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C] Duda, código y memoria.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C] Duda, código y memoria.  (Leído 2,658 veces)
KZN

Desconectado Desconectado

Mensajes: 98



Ver Perfil
[C] Duda, código y memoria.
« en: 11 Agosto 2016, 06:15 am »

Buenas, soy nuevo con el lenguaje de programación C, hasta ahora hacía cosas simples con "lenguaje" tipo bat. Estaba buscando ir a un directorio y crear la carpeta, pero no consigo que al compilar tenga memoria y me cree la carpeta donde yo le mando. Vengo de un "lenguaje" mas que eso yo le llamaría ordenes, no lo considero un lenguaje, el caso es que siempre lo e echo todo en bat, asique les agradecería unos consejos

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. #include <dir.h>
  5.  
  6. int main () {
  7.  
  8. chdir ("C:\Users\user\Desktop");
  9. mkdir ("app");
  10. }

Lamento lo de las etiquetas, pero es que ya no recuerdo como se ponían.


Mod: Los códigos deben ir en etiquetas GeSHi.. spoiler? que es eso  :-\


« Última modificación: 12 Agosto 2016, 07:50 am por engel lex » En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: [C] Duda, código y memoria.
« Respuesta #1 en: 11 Agosto 2016, 06:53 am »

Cuando pones un código, lo mejor sería que dijeras el problema CONCRETO que se te presenta. En este caso, estás usando Windows (porque incluyes windows.h), pero estás usando la función chdir, la cual creo que no se puede usar en Windows (creo que se usa en sistemas Linux). Lo siento, pero si quieres cambiar el directorio en Windows, vas a tener que usar la API de Windows, y si vas a trabajar en sistemas Linux, puedes seguir usando chdir.

Ejemplo de cómo cambiar el directorio con la API de Windows (ejemplo sacado de Internet):

NOTA: El código puede parecer largo. Lo que pasa es que aquí se hacen más pasos que cambiar el directorio, pero en esencia, deberías ser capaz de ver cómo usar la API de Windows.

Código
  1. #include <windows.h>
  2. #include <iostream>
  3.  
  4. int main() {
  5.    const int bufferSize = MAX_PATH;
  6.    char oldDir[bufferSize]; // store the current directory
  7.  
  8.    // get the current directory, and store it
  9.    if (!GetCurrentDirectory(bufferSize, oldDir)) {
  10.        std::cerr << "Error getting current directory: #" << GetLastError();
  11.        return 1; // quit if it failed
  12.    }
  13.    std::cout << "Current directory: " << oldDir << '\n';
  14.  
  15.    // new directory
  16.    const char* newDir = R"(C:\path\to\directory\)"
  17.    if (!SetCurrentDirectory(newDir)) {
  18.        std::cerr << "Error setting current directory: #" << GetLastError();
  19.        return 1; // quit if we couldn't set the current directory
  20.    }
  21.    std::cout << "Set current directory to " << newDir << '\n';
  22.  
  23.    // Delete some files
  24.    DeleteFile("file1.txt");
  25.    DeleteFile("bin\\file2.exe");
  26.    DeleteFile(R"(data\things\other\file3.zip)");
  27.  
  28.    // Reset the current directory back to what it was.
  29.    if (!SetCurrentDirectory(oldDir)) {
  30.        std::cerr << "Error resetting current directory: #" << GetLastError();
  31.        return 1;
  32.    }
  33.    std::cout << "Reset current directory. \n";
  34.  
  35.    // ...
  36.  
  37.    return 0;
  38. }

FUENTE del código: pincha aquí


En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: [C] Duda, código y memoria.
« Respuesta #2 en: 11 Agosto 2016, 13:33 pm »

Buenas, soy nuevo con el lenguaje de programación C, hasta ahora hacía cosas simples con "lenguaje" tipo bat. Estaba buscando ir a un directorio y crear la carpeta, pero no consigo que al compilar tenga memoria y me cree la carpeta donde yo le mando. Vengo de un "lenguaje" mas que eso yo le llamaría ordenes, no lo considero un lenguaje, el caso es que siempre lo e echo todo en bat, asique les agradecería unos consejos

[SPOILER]
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <dir.h>

int main () {

chdir ("C:\Users\user\Desktop");
mkdir ("app");
}
[/spoiler]

Lamento lo de las etiquetas, pero es que ya no recuerdo como se ponían.

Cuando en un literal pones "\", es un carácter de escape. Si quieres realmente poner el caracter '\', tendrás que ponerlo 2 veces: "C:\\Users\\user\\Desktop"

Con eso, te debería ir en principio.
En línea

KZN

Desconectado Desconectado

Mensajes: 98



Ver Perfil
Re: [C] Duda, código y memoria.
« Respuesta #3 en: 13 Agosto 2016, 01:23 am »

Muchas gracias al usuario ivancea96 por resolver mi problema.

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Codigo de asignacion de memoria: Peor Ajuste
Programación C/C++
dato000 5 12,521 Último mensaje 15 Marzo 2011, 14:55 pm
por Akai
[DUDA] Acerca de Memoria Virtual Y Memoria Fisica Entre otros...
Programación C/C++
x64core 9 7,339 Último mensaje 28 Noviembre 2011, 17:20 pm
por x64core
Corsair Padlock 2, una memoria USB con código de seguridad
Seguridad
krowa 0 2,410 Último mensaje 6 Febrero 2012, 00:21 am
por krowa
Duda registros,memoria principal y memoria caché
Hardware
Senior++ 2 3,377 Último mensaje 9 Mayo 2014, 10:16 am
por Senior++
Inyecciones de código en memoria
Análisis y Diseño de Malware
fary 4 4,741 Último mensaje 5 Febrero 2016, 04:51 am
por Arnaldo Otegi
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines