fgets () 함수를 사용하여 한 줄에 12 자만 읽도록하는 방법은 무엇입니까?

닐 파텔

다음 단어가 포함 된 파일이 있습니다.

Theendsherethiswillnotjaksdjlasdfjkl;asdjfklasdjfkl;asdfjl;
these
are
the

아래는 내 코드입니다.

int i = 0;
    bool duplicateFound = false;
        while(fgets(line,12,fp)){
            for (int j = 0; j < i; j++){
                if (strcmp(wordList[j], line) == 0){
                    duplicateFound = true;
                    printf("Duplicate Found on Line %d : %s\n", j, wordList[j]);
                }
            }
            if (duplicateFound == false){
                strcpy(wordList[i], line);
                printf("%s", wordList[i]);
            }
            i++;*/

            printf("%s", line);
        }

나중에 배열에서 중복을 확인할 수 있도록 각 단어를 저장하기 위해 줄을 사용하고 있습니다. 함수가 각 줄에서 최대 12 자만 읽도록하고 싶지만 다음 출력을 출력합니다.

실제 출력 :

Theendsherethiswillnotjaksdjlasdfjkl;asdjfklasdjfkl;asdfjl;
these
are
the

예상 출력 :

Theendsheret
these
are
the
윌리엄 퍼셀

실제로 fgets를 호출 한 다음 수행해야 line[12] = '\0'하지만 긴 줄이있는 입력을 명확하게 처리하지는 않습니다. 한 가지 옵션은 fgets가 부분 행을 반환하는 경우 (예 : strchr(line, '\n')NULL을 반환하는 경우) 단순히 중단하는 것 입니다. 긴 줄을 처리하려면 줄 바꿈이 나타날 때까지 getchar로 데이터를 버릴 수 있습니다. 줄 바꿈을 12 자 중 하나로 간주하고 싶지 않다고 가정하면 다음과 같이 할 수 있습니다.

#include <stdio.h>
#include <string.h>

int
main(void)
{
        char line[13];
        while( fgets(line, 13, stdin) ) {
                char *c = strchr(line, '\n');
                int ch;
                if( c == NULL ) while( (ch = getchar()) != EOF ) {
                        if( ch == '\n' ) {
                                break;
                        }
                } else {
                        *c = '\0';
                }
                if( printf("%s\n", line) < 0 ) {
                        break;
                }
        }
        return ferror(stdout) || ferror(stdin) || fclose(stdout) || fclose(stdin);
}

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

fgets에서 for 루프를 사용하도록 배열을 만드는 방법은 무엇입니까?

분류에서Dev

사용자가 Java 및 JavaScript를 사용하여 하나의 탭 / 창에만 로그인하도록 제한하는 방법은 무엇입니까?

분류에서Dev

쉼표를 사용하여 목록 문자열을 한 줄로 결합하는 방법은 무엇입니까?

분류에서Dev

하나의 숫자 만 허용하도록 여러 줄 텍스트 상자를 제한하는 방법은 무엇입니까?

분류에서Dev

한 명의 사용자 만 "UpdateView"를 볼 수 있도록 허용하는 방법은 무엇입니까?

분류에서Dev

devise를 사용하여 다른 사용자에게 권한을 부여하는 방법은 무엇입니까?

분류에서Dev

@XmlElements를 사용하여 동일한 목록에 다른 개체를 만드는 방법은 무엇입니까?

분류에서Dev

사용자 가져 오기 : 여러 사용자에게 동일한 이메일 주소를 사용하지만 다른 사용자 이름을 사용하도록 허용하는 방법은 무엇입니까?

분류에서Dev

fgets 함수를 사용하여 문자열을 대문자 / 소문자로 엄격하게 인쇄하는 방법은 무엇입니까?

분류에서Dev

다른 사용자가 읽기 / 업데이트 / 쓰기 할 수 있도록 Firebase에서 권한을 관리하는 방법은 무엇입니까?

분류에서Dev

SSH 터널링 만 허용하도록 SSH 사용자를 제한하는 방법은 무엇입니까?

분류에서Dev

Coq를 사용하여 cobordisms에 대한 유도 유형을 만드는 방법은 무엇입니까?

분류에서Dev

Coq를 사용하여 cobordisms에 대한 유도 유형을 만드는 방법은 무엇입니까?

분류에서Dev

Coq를 사용하여 cobordisms에 대한 유도 유형을 만드는 방법은 무엇입니까?

분류에서Dev

Node Express를 사용하여 각 사용자에 대한 동적 하위 도메인을 만드는 방법은 무엇입니까?

분류에서Dev

삼항 연산자에서 함수를 한 번만 평가하는 방법은 무엇입니까?

분류에서Dev

C #을 사용하여 PowerPoint 작업 창의 여러 줄 텍스트 상자에서 각 줄의 길이를 제한하는 방법은 무엇입니까?

분류에서Dev

C 및 WinAPI를 사용하여 특수 문자를 포함한 텍스트를 클립 보드에 복사하는 방법은 무엇입니까?

분류에서Dev

관리자가 새 사용자를 만들 때 사용자에게보기 권한 만 부여하는 방법은 무엇입니까?

분류에서Dev

xxd를 사용하여 한 줄씩 hexdump를 만드는 방법은 무엇입니까?

분류에서Dev

사용자가 Android에서 정보를 한 번만 입력하도록 활동을 시작하는 방법은 무엇입니까?

분류에서Dev

keras에 대한 가중 평균을 사용하여 사용자 지정 f1 손실 함수를 작성하는 방법은 무엇입니까?

분류에서Dev

MySQL : 정수 데이터 유형에서 비슷한 함수를 사용하여 비슷한 숫자를 찾는 방법은 무엇입니까?

분류에서Dev

위치 관리자에서 사용자 위치를 한 번만 복사하는 방법은 무엇입니까?

분류에서Dev

추가 매개 변수를 사용하는 tf.keras에 대한 자체 손실 함수를 만드는 방법은 무엇입니까?

분류에서Dev

Rails4에서 Devise를 사용하여 사용자가 자신의 댓글 만 편집하도록 허용하는 방법은 무엇입니까?

분류에서Dev

Rails4에서 Devise를 사용하여 사용자가 자신의 댓글 만 편집하도록 허용하는 방법은 무엇입니까?

분류에서Dev

사용자 입력에 필요한 경우에만 변수를 만드는 방법은 무엇입니까?

분류에서Dev

Unix를 사용하여 파일의 각 줄에서 특정 문자열에 대한 검색 횟수를 얻는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    fgets에서 for 루프를 사용하도록 배열을 만드는 방법은 무엇입니까?

  2. 2

    사용자가 Java 및 JavaScript를 사용하여 하나의 탭 / 창에만 로그인하도록 제한하는 방법은 무엇입니까?

  3. 3

    쉼표를 사용하여 목록 문자열을 한 줄로 결합하는 방법은 무엇입니까?

  4. 4

    하나의 숫자 만 허용하도록 여러 줄 텍스트 상자를 제한하는 방법은 무엇입니까?

  5. 5

    한 명의 사용자 만 "UpdateView"를 볼 수 있도록 허용하는 방법은 무엇입니까?

  6. 6

    devise를 사용하여 다른 사용자에게 권한을 부여하는 방법은 무엇입니까?

  7. 7

    @XmlElements를 사용하여 동일한 목록에 다른 개체를 만드는 방법은 무엇입니까?

  8. 8

    사용자 가져 오기 : 여러 사용자에게 동일한 이메일 주소를 사용하지만 다른 사용자 이름을 사용하도록 허용하는 방법은 무엇입니까?

  9. 9

    fgets 함수를 사용하여 문자열을 대문자 / 소문자로 엄격하게 인쇄하는 방법은 무엇입니까?

  10. 10

    다른 사용자가 읽기 / 업데이트 / 쓰기 할 수 있도록 Firebase에서 권한을 관리하는 방법은 무엇입니까?

  11. 11

    SSH 터널링 만 허용하도록 SSH 사용자를 제한하는 방법은 무엇입니까?

  12. 12

    Coq를 사용하여 cobordisms에 대한 유도 유형을 만드는 방법은 무엇입니까?

  13. 13

    Coq를 사용하여 cobordisms에 대한 유도 유형을 만드는 방법은 무엇입니까?

  14. 14

    Coq를 사용하여 cobordisms에 대한 유도 유형을 만드는 방법은 무엇입니까?

  15. 15

    Node Express를 사용하여 각 사용자에 대한 동적 하위 도메인을 만드는 방법은 무엇입니까?

  16. 16

    삼항 연산자에서 함수를 한 번만 평가하는 방법은 무엇입니까?

  17. 17

    C #을 사용하여 PowerPoint 작업 창의 여러 줄 텍스트 상자에서 각 줄의 길이를 제한하는 방법은 무엇입니까?

  18. 18

    C 및 WinAPI를 사용하여 특수 문자를 포함한 텍스트를 클립 보드에 복사하는 방법은 무엇입니까?

  19. 19

    관리자가 새 사용자를 만들 때 사용자에게보기 권한 만 부여하는 방법은 무엇입니까?

  20. 20

    xxd를 사용하여 한 줄씩 hexdump를 만드는 방법은 무엇입니까?

  21. 21

    사용자가 Android에서 정보를 한 번만 입력하도록 활동을 시작하는 방법은 무엇입니까?

  22. 22

    keras에 대한 가중 평균을 사용하여 사용자 지정 f1 손실 함수를 작성하는 방법은 무엇입니까?

  23. 23

    MySQL : 정수 데이터 유형에서 비슷한 함수를 사용하여 비슷한 숫자를 찾는 방법은 무엇입니까?

  24. 24

    위치 관리자에서 사용자 위치를 한 번만 복사하는 방법은 무엇입니까?

  25. 25

    추가 매개 변수를 사용하는 tf.keras에 대한 자체 손실 함수를 만드는 방법은 무엇입니까?

  26. 26

    Rails4에서 Devise를 사용하여 사용자가 자신의 댓글 만 편집하도록 허용하는 방법은 무엇입니까?

  27. 27

    Rails4에서 Devise를 사용하여 사용자가 자신의 댓글 만 편집하도록 허용하는 방법은 무엇입니까?

  28. 28

    사용자 입력에 필요한 경우에만 변수를 만드는 방법은 무엇입니까?

  29. 29

    Unix를 사용하여 파일의 각 줄에서 특정 문자열에 대한 검색 횟수를 얻는 방법은 무엇입니까?

뜨겁다태그

보관