2010-11-23 3 views
0

안녕 i wana는 c 또는 C++의 입력 필드에 숫자를 입력하기 위해 표준 숫자 입력을 사용하는 방법을 알고 있습니까? 다른 사람이나 스위치 또는 삼항 연산자와 함께 어떤 문자열이나 방법을 말해 준 사람. C++에 대한표준 숫자 입력

+0

어? 뭐? (공간을 채우는) –

+0

공간을 채워서 무슨 뜻입니까? – user517026

+0

덧글은> = 15 자 이상이어야합니다 –

답변

1

는 :

#include <iostream> 

int myValue; 
cin >> myValue; 

if (!cin) 
{ 
    // bad or missing input 
} 
else 
{ 
    // party on with the int 
} 

또한 다른 내장 숫자 유형으로 작동합니다. 당신이 다음 string로 입력 사용하려면 : 당신이 C에서이 작업을 수행하고자한다면

#include <sstream> 

ostringstream intStream; 
intStream << myValue; 
string intString(intStream.str()); 

을, 당신은 scanf을 사용합니다. 온라인과 같은 많은 예제가 있습니다. 아래처럼 배열에서 입력 데이터를 캡처 할 때 끔찍한 버퍼 오버 플로우 버그를 쉽게 도입 할 수 있습니다. 선택의 여지가 있다면 C++을 사용할 것입니다.

#include <stdio.h> 

int main() 
{ 
    char str [80]; 
    int i; 

    printf ("Enter your family name: "); 
    scanf ("%s",str); 
    printf ("Enter your age: "); 
    scanf ("%d",&i); 
    printf ("Mr. %s , %d years old.\n",str,i); 
    printf ("Enter a hexadecimal number: "); 
    scanf ("%x",&i); 
    printf ("You have entered %#x (%d).\n",i,i); 

    return 0; 
} 

다른 입력 형식 지정자의 문서 here.

+0

이 라인은 – user517026

+0

인 무엇입니까 >> myvalue; – user517026

+0

에 대한이 행은 표준 입력 스트림에서 요청 된 유형을 읽습니다. 이것이 왜 반대표를 던집니까? –

0
#include <iostream> 

int main() 
{ 
    std::cout << "Enter a number: "; 
    int i = 0; 
    while (std::cin >> i) { 
      // process 
} 

이렇게하면 파일 끝을 치거나 잘못된 정수를 입력 할 때 while 루프가 종료됩니다.

관련 문제