문자열에서 int 배열을 만들고 싶습니다. 그러나 내 문제는 ASCII 또는 ASCII 값으로 문자열 또는 char 걸립니다.C++ char은 ascii 값만 표시합니까?
#include <cstdio>
#include <string>
using namespace std;
int *arr = new int[10];
int j = 0;
string answer;
cout << "Enter the value: ";
// (4,3,1,2) is typed
cin >> answer;
void buildArr(string s){
for(int i = 0; i<10; i++){
if(s[i] != '(' || s[i] != ',' || s[i] != ')'){
arr[j] = (int)s[i];
j++;
}
}
}
는이 arr
가 4 3 1 2
을 보유 할 예정. 그러나 (4,3,1,2)
와 동일한 40 52 44 51 44 49 44 50 41
을 포함합니다. 아스키 번호, 그것은으로 인식하지 않는 것이다 '('. 그래서 내 if
문 제가 제대로 문자를 비교할 수있는 방법. ( ,)
이 세 문자를 필터링하지 않는 이유는 무엇입니까?
내가 검색하는 (
(40)로
이 소요 다른 질문을 통해, 그리고 s[i]-=0
을 시도했지만 운이 없었다. 사전에 감사!
필요 [I] - = '0'' (인용 부호에주의) 하지만 기본적으로'arr [j] = s [i] - '0'; ' – UnholySheep
[mcve]를 제공하십시오. 제공된 코드는 컴파일 할 수 없습니다. – Kevin