내가 C 언어로 비교할 수있는 방법 궁금 비교, 내가 argv[2]
에 넣어 번호와 내 코드에 int
번호 :"변수는 argv"와 "INT"변수 (C)
EX: prog.exe file.txt 74
========================
int n;
scanf ("%d", &n);
if (n > argv[2])
{
[...]
}
방법 다른 종류의 데이터를 비교할 수 있습니까?
내가 C 언어로 비교할 수있는 방법 궁금 비교, 내가 argv[2]
에 넣어 번호와 내 코드에 int
번호 :"변수는 argv"와 "INT"변수 (C)
EX: prog.exe file.txt 74
========================
int n;
scanf ("%d", &n);
if (n > argv[2])
{
[...]
}
방법 다른 종류의 데이터를 비교할 수 있습니까?
단순히 atoi()
기능을 사용합니다. 이 함수는 단순히 문자열의 첫 번째 숫자 자릿수를 문자열의 비 숫자 멤버를 만날 때까지 변환합니다.
매개 변수는 명령 줄에서 문자열입니다. 그들은 각각의 유형으로 변환되어야합니다. 개인적으로, 나는 정수 변수와 atoi를 사용하여 argv [2]를 먼저 풀었다. 입력은 사용자 입력과 같은 비교로 다음 n
값 및`또 다른 옵션
#include <stdio.h>
#include <string.h>
int n;
int argv_2;
int main(int argc, char *argv[])
{
int rc = 0;
/* Check for three arguments, program name and two passed. */
if(3 == argc)
{
argv_2 = strtol(argv[2], NULL, NULL, 10);
printf("Please enter a number for the vaue of the variable n\t: ");
scanf("%d", &n);
printf("\n\n");
if (n > argv_2)
{
printf("The value of n: %i is greater than argv[2]: %i\n",
n, argv_2);
}
else
{
printf("The value of n: %i is not greater than argv[2]: %i\n",
n, argv_2);
}
}
else
{
printf("Usage: ./test arg1 arg2 \n\n");
}
return rc;
}
argv_2 = atoi (argv [2], 10); "10"은 무엇을 위해 머물러 있습니까? 감사합니다 – Lc0rE
나는 strtol을 사용해야합니다. 나는 오랫동안 C에서 프로그래밍하지 않았기 때문에 atoi가 더 이상 사용되지 않았 음을 알지 못했습니다. http://www.codecogs.com/reference/computing/c/stdlib.h/atoi.php 반영 할 답변을 편집했습니다. – octopusgrabbus
'sscanf를 (는 argv [2] "가 % d", m)이다. –
다음은 [documentation] (http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/)에 대한 링크입니다. 예, 저는 그것이 C++ 레퍼런스임을 알고 있지만, 그것은 같은 기능입니다. – jpm
@jpm 감사합니다. 그것에 대한 링크로 업데이트되었습니다. –