C에서 문자열을 읽는 방법 C 프로그래밍 언어는 실제 문자열 데이터 유형을 제공하지 않습니다. C에서 문자열은 NULL로 끝나는 문자 배열로 에뮬레이트됩니다. 이러한 배열은 정적으로 선언하거나 포인터로 선언할 수 있습니다. 표준 C는 문자 배열 또는 C 문자열을 조작하는 많은 기능을 제공합니다. 이 기사는 입력 스트림과 파일에서 읽는 함수에 중점을 둡니다. C에서 문자열을 읽는 방법을 배우려면 다음 팁을 따르십시오.
1 단계
기본 사항을 이해합니다. C 문자열은 차트 유형의 배열입니다. 모든 C 배열과 마찬가지로 첫 번째 요소는 0에서 인덱싱되고 마지막 요소는 "문자열의 길이에서 1을 뺀 것"에서 인덱싱됩니다. 일반적으로 컴파일러는 마지막 위치에 NULL을 삽입하므로 문자열은 "문자열의 길이에서 1을 뺀 값"을 보유할 수 있습니다. 집단. Null은 정수 형식의 0x00 및 문자 형식의 '\0'에 해당합니다. 요소는 "[]" 연산자로 액세스합니다. 2단계에서는 이러한 개념을 보여줍니다.
오늘의 비디오
2 단계
이 튜토리얼의 기능을 사용하기 전에 소스 파일에 아래 "include 지시문"을 추가하십시오.
#include < stdio.h >
3단계
C 문자열을 선언합니다. 아래 코드는 정적 및 포인터 메서드를 사용하는 선언을 보여줍니다.
// 정적 선언 char str[50] = {0}; // 모든 요소를 0으로 초기화하는 단축 방법 // str[49]는 NULL입니다. // str은 48자를 수용할 수 있습니다. // 포인터에 의한 선언 char pStr = NULL; // 메모리 할당 없음 pStr = (char)malloc(50); // 이것은 "malloc()"에 의해 수행됩니다.
4단계
표준에서 공백으로 구분된 일련의 문자열을 읽는 "scanf()"를 사용하여 데이터를 C 문자열로 읽습니다. "형식"에 따라 적절한 참조 변수에 속하는 주소에 입력하고 배치합니다. 끈":
정수 n; printf("이름과 나이를 입력하세요: "); scanf("%s%d", str, &n); // printf("당신의 이름은 %s이고 당신은 %d 늙었습니다\n", str, n);
5단계
표준 입력에서 문자열로만 데이터를 읽는 더 간단한 "gets()" 함수를 사용하여 데이터를 C 문자열에 넣습니다.
printf("당신의 성을 입력하세요: "); (str)을 얻습니다. printf("당신의 이름은 %s입니다\n", str);
6단계
"fscanf()"를 사용하여 파일 데이터를 C 문자열로 읽습니다. 이 함수는 "scanf()"와 유사합니다.
파일* p파일; pFile = fopen("myFile.txt", "r"); // 파일이 존재하고 데이터가 있다고 가정 if (NULL != pFile) { fscanf (pFile, "%s", str); printf("파일의 첫 번째 단어는 %s\n", str); fclose(p파일); }
7단계
"gets()"와 동일하게 작동하는 "fgets()"를 사용하여 5단계를 반복합니다.
파일* p파일; pFile = fopen("myFile.txt", "r"); if (NULL != pFile) { fgets (pFile, str); printf("파일의 첫 번째 단어는 %s\n", str); fclose(p파일); }
필요한 것
C/C++ IDE 또는 C 컴파일러
Brian W.의 "The C 프로그래밍 언어"와 같은 C에 관한 책 커니건
팁
언급된 기능에 대해 자세히 알아보려면 C Plus Plus 웹사이트를 방문하십시오.
경고
이 코드를 컴파일하려고 하지 마십시오. 기능을 보여주기 위한 것일 뿐입니다. 일관된 프로그램이 아니며 컴파일할 때 오류가 발생합니다.