Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

380
Views
Cómo obtener parámetros desde la línea de comando

Tengo este código escrito en C que hace una conversión de decimal a binario. ¿Cómo puedo hacer que obtenga el parámetro de la línea de comando en Linux? Sé que tengo que usar algo como int main(int argc, char *argv[]) pero no sé cómo implementarlo.

 #include <stdio.h> int main() { int a[10], decimal, i, j; printf("\nIntroduceti numarul decimal: "); scanf("%d", &decimal); for(i = 0; decimal > 0; i++) { a[i] = decimal % 2; decimal = decimal / 2; } printf("\nNumarul binar este: "); for(j = i - 1; j >= 0; j--) { printf("%d", a[j]); } printf("\n"); return 0; }
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Tu quieres esto:

 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { if (argc < 2) { printf("missing command line argument\n"); return 1; } int decimal = (int)strtol(argv[1], NULL, 10); ... }
  • necesita una comprensión mínima de las cadenas.
  • El (int) cast es para dejar en claro que convertimos explícitamente el long int devuelto por strtol a int , que puede o no ser un tipo más pequeño que long int , dependiendo de su plataforma.
  • Documentación para strtol .
  • Explicación sobre argc y argv
over 4 years ago · Santiago Trujillo Report

0

Responder:

 #include <stdio.h> #include<stdlib.h> int main(int argc, char *argv[]) { int a[10], decimal, i, j; decimal = atoi(argv[1]); for(i = 0; decimal > 0; i++) { a[i] = decimal % 2; decimal = decimal / 2; } printf("\nNumarul binar este: "); for(j = i - 1; j >= 0; j--) { printf("%d", a[j]); } printf("\n"); return 0; }

Compilar imagen Abrirla

Aquí gcc es el compilador c, y demo.c es el nombre del archivo Después de compilar correctamente su archivo, ./a.out es el comando para ejecutar ese archivo de compilación y agregarle el argumento de la línea de comandos, como se muestra en la imagen. atoi(argv 1 ) vea argv[0] es el nombre del archivo, argv 1 es el argumento, y atoi se usa para convertir una cadena a int, ya que solo podemos tomar la entrada de cadena desde la línea de comando, y argc es el número total de argumento que el usuario ha dado.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!