웹사이트 검색

C/C++에서 puts() 함수 사용


소개

안녕하세요 독자님! 오늘 이 튜토리얼에서는 C 및 C++ 프로그래밍 언어 모두에서 광범위하게 사용되는 puts() 함수에 대해 논의할 것입니다.

C 및 C++ 모두에서 printf()cout 함수가 변수, 숫자, 줄 등을 인쇄하는 데 탁월하지만 문자열 특히 printf(). 이 경우 puts() 함수가 유용합니다.

C/C++의 puts() 함수

C/C++의 puts() 함수는 출력(stdout) 스트림에 줄이나 문자열을 쓰는 데 사용됩니다. 전달된 문자열을 새 줄로 인쇄하고 정수 값을 반환합니다. 반환 값은 쓰기 절차의 성공 여부에 따라 다릅니다.

puts() 함수 선언은 다음과 같습니다.

int puts(const char* str);

여기서 str은 인쇄할 상수 문자열입니다.

작은 예를 살펴보겠습니다.

#include<stdio.h>
int main()
{
	//string initialisation
    char Mystr[] = "C and C++";
    
    puts(Mystr); //writing the string to stdout
    
    return 0;
}

산출:

C and C++

보시다시피 Mystr 문자열이 stdout에 성공적으로 출력되었습니다. 아래에 제공된 코드 스니펫도 C++에서 동일한 출력을 생성합니다.

#include<iostream>
using namespace std;
int main()
{
	//string initialisation
    char Mystr[] = "C and C++";
    
    puts(Mystr); //writing the string to stdout
    
    return 0;
}

C/C++에서 puts() 함수 사용

앞에서 언급했듯이 puts() 함수는 문자열/줄을 작성하는 동안 끝에 개행 문자를 추가합니다.

#include<stdio.h>
int main()
{
	//string initialisation
    char Mystr1[10] = "Python";
    char Mystr2[10] = "Kotlin";
    
    puts(Mystr1);
    puts(Mystr2); //not specifically adding a newline
    
    return 0;
}

산출:

Python
Kotlin

여기에서 Mystr1Mystr2라는 두 문자열을 초기화했습니다. C 또는 C++에서 puts() 메서드를 사용하여 이러한 문자열을 인쇄하는 동안 특별히 를 추가할 필요가 없습니다.\\n\(newline) 함수가 이미 하나를 추가했기 때문입니다.

puts() 반환 값

puts() 함수는 성공적인 실행을 위해 음수가 아닌 정수를 반환합니다. 그렇지 않으면 모든 오류에 대해 EOF를 반환합니다.

아래 주어진 예는 puts() 함수의 반환 값을 보여줍니다.

#include<stdio.h>
int main()
{
	//string initialisation
    char Mystr[] = "The puts() function";
    
    int val = puts(Mystr);
    printf("Returned Value Val = %d", val);
    
    return 0;
}

산출:

The puts() function
Returned Value Val = 0

C/C++의 puts() VS fputs() 함수

앞에서 배운 것처럼 puts() 함수는 stdout 스트림에 줄이나 문자열을 씁니다. 반면 fputs() 함수는 스트림이나 파일에 쓰는 데 사용됩니다. 따라서 두 함수의 가장 큰 차이점은 fputs()를 사용하여 사용자가 작성하려는 스트림을 지정할 수 있다는 사실입니다.

게다가 fputs() 함수는 개행 문자를 추가하지 않습니다(\\n) 전달된 문자열/줄의 끝.

결론

오늘은 여기까지입니다. 만족스러운 학습 경험이 되셨기를 바랍니다.

C/C++의 puts() 함수와 관련된 추가 질문은 아래 주석을 사용하십시오.

참조

  • C++ puts() - C++ 참조,
  • C++ 튜토리얼,
  • C 프로그래밍의 fgets() 및 gets(),
  • C에서 printf()와 puts()의 차이점은 무엇입니까? - 스택 오버플로 질문.