2013-11-23 2 views
-1

안녕하세요. 저는 C와 string.h (strings.h?)로 시작 했으므로 그것에 대해 많은 자습서를 찾지 못해서 저를위한 몇 가지 질문이 남아 있습니다.변수 C 문자열 string.h useage

그래서 지금까지 내가 예를 들어

char name[10]; 

를 사용하고, 문자열로 변수를 가지고

string name 

처럼 사용하는 방법은 무엇입니까? 마침내

난, 당신이 하나를 필요로하는 경우, 같은 문자열 클래스를 제공하는 라이브러리의 수백이있다 C.에 내장 된 더 동적으로 할당 된 문자열 유형이

int main(){ 
    string name; 

    puts("name?"); 
    scanf("%s",name); 
    printf("%s",filname); 

} 

답변

0

없음 같은 것을 할 일 원하지만, 같은 scanf와 같은 표준 라이브러리 함수의 경우 미리 최대 크기를 알아 내야합니다 (또는 하위 수준 함수에 의존).

1

C

당신이 선언 할 수있는 최선의 문자열 어디에도없는 문자열이 같다 :

char greeting[] = "Hello"; 

또는 다음과 같이 :

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; 

체크 아웃이 tutorial.

실제로 C 프로그래밍 언어의 문자열은 null 문자 '\ 0'으로 끝나는 1 차원 문자 문자 배열입니다. 따라서 null로 끝나는 문자열에는 문자열 뒤에 null이 오는 문자가 포함됩니다.

0

c.A에 문자열이라는 데이터 유형이 없습니다. 문자 배열은 문자열이며 다음과 같이 사용합니다.

char s[10]; 
scanf("%s",s); 
printf(s); 

당신은 string.h을 받고 유용한이 기능을 찾을 수는

strlen(s)

strcat(s1,s2)이 조인을 병합 S2가

를 S1하는

strcpy(s1,s2) 복사 S2를 S1하는 문자열 길이를 제공합니다

0

캔트하지만 모든 C 문자열 기능에 액세스 할 수 있습니다, ++ 문자열은 C에서 클래스 : 클래스 및 표준이없는 그는

와 함께 할
#include <string.h> 
+1

컴퓨터에서'string.h '를 검색하고 내용을 읽는 것이 좋습니다. 나는 그렇게했고 나는 그렇게 믿지 않는다. .. – James

1

C에 문자열이 없습니다. 기본적으로 C 문자열은 문자 배열입니다. char*은 char 변수에 대한 포인터입니다. 나는 C 포인터에 대해 얼마나 알고 있는지 알지 못하지만, 배열 선언 인 int a[10] 과 같이하면 정수형 포인터는 변수 a에 저장됩니다. char에 대한 포인터로 char*을 사용하면 기본 크기가없는 char 배열이 있으므로 char에서와 동일합니다. 그러나 포인터로 작업 할 때 너무 많은 런타임 오류가 발생할 수 있으므로 포인터와 관련된 코드를 작성할 때는주의해야합니다.