프로그램을 실행할 때 덤프 된 코어

Bit87

코드를 실행하려고하면 첫 번째 입력을 요청하지만 다음에는 코어 덤프가 표시됩니다.

그리고 나는 약간의 의심이 있습니다. 경고를 fget하는 것을 어떻게 고칠 수 있습니까?

그리고이 코드가 최적화 될 수 있다면 저에게 알려주세요, 효율적인 코드를 만들려고 노력하고 있습니다 : D

다음과 같이 컴파일하십시오.

g ++ -O2-벽 Proy2.cpp -o Proy2

암호:

#include < cstdio >

#include < iostream >

using namespace std;

int main(){

    typedef struct PC{

    char Brand[20];
    char Model[20];
    char Serial[20];
    char Processor[10];

    };

    PC PC1[5],*machine;

    unsigned int i;

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

    cout <<"Insert PC brand: ";
        fgets(machine->Brand, 20, stdin); fflush(stdin);

    cout <<"Insert PC model: ";
        fgets(machine->Model, 20, stdin); fflush(stdin);

    cout <<"Insert PC serial: ";
        fgets(machine->Serial, 20, stdin); fflush(stdin);

    cout <<"Insert PC processor: ";
        fgets(machine->Processor, 10, stdin); fflush(stdin);

    printf("PC Brand : %s", PC1[i].Brand);
    printf("PC Model : %s", PC1[i].Model);
    printf("PC Serial : %s", PC1[i].Serial);
    printf("PC Processor: %s", PC1[i].Processor);

    PC1[i] = *machine;

    }

    return 0;
}
청각 자

coutC ++이고 C printf입니다. fgets또한 C이며 getline(C ++) 이어야합니다 . 둘 다 섞지 말고 언어를 선택해야합니다. Char*C이고 stringC ++입니다.

클래스 또는 구조체가 메인에 있으면 안됩니다.

#include <cstdio>

#include <iostream>

using namespace std;

typedef struct PC{

    string Brand;
    string Model;
    string Serial;
    string Processor;

};

int main(){

    PC *PC1[5]; // pointer of pointers
    PC *machine=new PC[4];

    unsigned int i;

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

        cout <<"Insert PC brand: ";
        cin >> machine->Brand;

        cout <<"Insert PC model: ";
        cin >> machine->Model;

        cout <<"Insert PC serial: ";
        cin >> machine->Serial;

        cout <<"Insert PC processor: ";
        cin >> machine->Processor;

        PC1[i] = machine; // you store the machine in PC1

        cout << "PC Brand : " << PC1[i]->Brand << endl;
        cout << "PC Model : " <<PC1[i]->Model << endl;
        cout << "PC Serial : " <<PC1[i]->Serial << endl;
        cout << "PC Processor: " <<PC1[i]->Processor << endl;

    }

    return 0;
}

당신은 사용 PC1[5]하고 루프에서 4 개의 요소 만 제공합니다 (0에서 3은 4 요소입니다). 나는 당신이 당신의 루프를 바꾸고 싶은 것

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

systemd를 사용하여 C 프로그램을 실행할 때 코어 덤프

C 프로그램 실행시 덤프 된 코어

프로그램을 실행할 때 사용할 코어 선택

MDART 프로토콜을 실행할 때 NS 2.35 분할 오류(코어 덤프)

fscanf를 사용할 때 덤프 된 코어

프로그램에서 llvm pass를 사용할 때 오류 : 명령을 실행할 수 없음 : 세그먼트 오류 (코어 덤프 됨)

구조체로 프로그램을 실행하려고 할 때 세그먼트 오류 (코어 덤프)가 발생합니다.

calloc으로 생성 된 배열을 해제 할 때 중단 (코어 덤프)

주석 처리 된 코드를 실행할 때마다 프로그램 충돌

프로그램이 valgrind에서 실행될 때 생성 된 코어 파일을 검사하는 방법

install4j 제거 프로그램을 시작할 때 설치된 프로그램이 실행 중인지 어떻게 확인합니까?

new []로 할당 된 어레이에서 avx를 사용할 때 세그먼트 화 오류 (코어 덤프 됨)

ORA-00911 : 잘못된 문자-SQL 덤프를 실행할 때

이 C++ 프로그램에서 동적 메모리를 올바르게 할당 해제하는 방법은 무엇입니까? 프로그램을 실행할 때 분할 오류(코어 덤프)가 발생합니다.

IPU 모델에서 Tensorflow 프로그램을 실행하면 '잘못된 명령어 (코어 덤프)'오류가 발생합니다.

iptables rhel6을 실행하려고 할 때 세그먼트 화 오류 (코어 덤프 됨)

ASP.NET MVC 4 응용 프로그램을 시작할 때 코드 실행

처음 실행할 때 컴파일 된 C ++ 프로그램을 실행할 수 없습니다.

docker에서 jar 응용 프로그램을 실행할 때 레이어 복제

어셈블리 프로그램을 실행할 때 이상한 출력

어셈블리로 작성된 간단한 프로그램을 실행할 때 세그멘테이션 오류가 발생합니다.

파싱 프로그램 : 분할 오류 (코어 덤프 됨)

C 프로그램 오류-분할 오류 (코어 덤프 됨)

C 프로그램 분할 기본값 (코어 덤프 됨)

C 프로그램의 분할 오류 (코어 덤프 됨)

코드를 실행할 때 세분화 오류 (코어 덤프) 오류가 발생합니다.

Visual C + 프로그램을 디버깅 할 때 지정된 파일을 실행할 수 없습니다.

Docker에서 G ++로 컴파일 된 프로그램을 실행할 때 다른 동작

WMI : 다른 프로그램을 통해 셸 명령을 실행할 때 잘못된 클래스 오류 발생

TOP 리스트

  1. 1

    Ionic 2 로더가 적시에 표시되지 않음

  2. 2

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  3. 3

    std :: regex의 일관성없는 동작

  4. 4

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  5. 5

    java.lang.UnsatisfiedLinkError : 지정된 모듈을 찾을 수 없습니다

  6. 6

    rclone으로 원격 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

  7. 7

    상황에 맞는 메뉴 색상

  8. 8

    SMTPException : 전송 연결에서 데이터를 읽을 수 없음 : net_io_connectionclosed

  9. 9

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  10. 10

    Windows cmd를 통해 Anaconda 환경에서 Python 스크립트 실행

  11. 11

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  12. 12

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  13. 13

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    복사 / 붙여 넣기 비활성화

  16. 16

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  17. 17

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  18. 18

    SQL Server-현명한 데이터 문제 받기

  19. 19

    Seaborn에서 축 제목 숨기기

  20. 20

    ArrayBufferLike의 typescript 정의의 깊은 의미

  21. 21

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

뜨겁다태그

보관