저는 K & R 서적에서 C를 배우는 파이썬 프로그래머입니다. 이것은 매우 사소한 질문처럼 보일 것입니다,하지만 그럼에도 불구하고 나는 곤란합니다. atoi() 함수를 구현하는 K & R (RIP Ritchie!) 서적의 코드 스 니펫이 첨부되어 있습니다. atoi(s) /*convert s to integer */
char s[];
{
int
시퀀스 정렬 프로그램 (이것은 생물 정보학 프로젝트)에 의해 생성 된 일부 문자열에 문제가 있습니다. 정렬 파일을 구문 분석하는 기존 C 프로그램에 추가 기능을 추가하려고하지만 프로그램에서 만드는 "잘못된 일치"문자열의 구문 분석과 관련된 문제가 발생했습니다. 컨텍스트를 추가하려면 다음과 같이 정렬 문자열의 예가 있습니다. example = "28G11AC
stdin에서 배열로 숫자를 가져 오려고합니다. stdin의 첫 번째 숫자는 배열의 요소 수입니다 (숫자는 임의의 int 일 수 있음). 내가 처음 번호를 얻기 위해 이런 짓을 : while(c=getchar()!=' '){
n*=10;
n+=atoi(c);
}
을 그리고 크기 n의 배열을 만들었습니다. 는 지금은 모든 나머지 while(c=get
의 첫 번째 인수를 얻을이 내 코드입니다 : my_program은 -23를, 내가 원하는 : 내가 명령 줄에서 프로그램을 실행하면, 그래서 int main(int argc, char **argv) {
int n;
char aux[10];
sscanf(argv[1], "%[^-]", aux);
n = atoi(aux);
누군가 atoi 기능이 9 자리가 넘는 누벨과 작동하지 않는 이유를 설명 할 수 있습니까? 예 : 123456789를 입력하면 프로그램에 123456789가 입력되지만 12345678901이라고 입력하면 프로그램에 -519403114라고 표시됩니다. 도움을 주셔서 감사합니다. int main()
{
int i;
char szinput [
그래서 두 가지 문제가 있습니다. 저는 이것을 코딩하기 위해 netbeans를 사용하고 있습니다. 첫 번째는 c.sArr에서 설정하는 배열 값이 7에서 임의의 숫자로 변경된다는 것입니다. 이유는 알 수 없습니다. 두 번째는 netbeans에서 디버그를 실행하려고하면 코드가 segfault를 제공한다는 반면, 정상적으로 실행할 때는 segfault를 제공한다
플랫 파일을 읽고 처리해야하는 응용 프로그램에서 작업하고 있습니다. 이 파일들은 레코드의 모든 필드에 대해 항상 일관된 인코딩을 사용하는 것은 아니므로 바이트를 읽고 쓰고 String으로 변환하는 데 필요한 디코딩/인코딩을 피하기로 결정했습니다. 그러나이 필드의 많은 부분은 단순한 정수이며, 실제로 유효성을 검사해야합니다 (정수 및 특정 범위에서 테스트 함