• [학생] C언어에서 String 을 Int로 convert 하는 방법에 대해서...2019.01.30 PM 04:06

게시물 주소 FONT글자 작게하기 글자 키우기


현재 코드가

String Msg="";

for(i=0; i<leng; i++){

Msg+=(char)temp[i];

}

 

여기서..Msg를 로그 찍어보면 원하는대로 "3000" 이런식으로 나옵니다...

근데 이걸...int로 변환해야하는데 그게 힘드네요 ㅜㅠ

 

atoi 와 같은 방법을 안내해주는데...

아무리 구글링 해도 char[3]를 int로 컨버트 하는것만 나옵니다..

댓글 : 13 개
atoi(Msg.c_str()) 이렇게 하셔도 안되나요?
그리고 정말 씨언어로 하시는거면 string자료형을 사용안하시고 캐릭터 배열이나 캐릭터 포인터로 선언해서 문자열을 관리하셔야 합니다.
지금 사용하시는거 보면 using namespace std; 하고 파일 확장자는 .cpp로 생성해서 하시고 있나보네요.
되네요..감사합니다 :)
c에도 string 자료형이 있던가... c++코드 올려봅니다

#include <iostream>

int main()
{
std::string strTemp = "123";
int intTemp = 0;

intTemp = atoi(strTemp.c_str());

printf("%d", intTemp);

return 0;

}
그냥 atoi()를 쓰면 int 변수에 3000 찍히지 않나요?
제가 잘 이해 못한거 같은데..일단 위와는 반대로 문자열형(string)을 int로 바꾸는 것을 의미한다면, 16진수등의 문자형이 아닌 단순 numeric이면 자릿수대로 chr형으로 받고 해당 배열*10n+배열하면 되지 않나요..?
12 = (chr(1) = 1 *10 + chr(2) = 2)
이러면 되는 것 같은데.. C언어라면 말이죠. 다른 C#등은 convert가 잘되어 있어 쉽게 한줄로 끝날듯.. 모바일이라 가독성이 부족하네요
string은 stoi, char는 atoi를쓰면 되지않나요?
stoi(msg)요런식으로??
atoi(msg.c_str());
대문자 String이면 MFC 자료형이었던거 같은데 순수 C만 사용하실건지를 알려주셔야될듯.
순수 C면 atoi나 atoi써야죠.
String 이 먼가요? MFC 는 CString 이고 STL 은 std::string 이었던 것 같은데
어쨌든 char array 로 바꿔서 atoi 써야죠
일단... c가 아니네요.
c에서는 char* <-> int
atoi / itoa 등이 있는데 int -> char* 는 sprintf 등을 사용해도 됩니다.

http://www.cesarkallas.net/arquivos/faculdade/estrutura_dados_1/complementos%20angela/string/conversao.html
c++ std::string으로 int로 변환한다면...

https://hashcode.co.kr/questions/591/string%EC%9D%84-int%EB%A1%9C-%EB%B0%94%EA%BE%B8%EB%A0%A4%EB%A9%B4

std::stoi(std::string) 형식의 함수가 있습니다.

친구글 비밀글 댓글 쓰기