반응형
새 줄 없이 C를 삽입합니다.
나는 현재 콘솔에 텍스트 파일을 인쇄하는 이 프로그램을 가지고 있지만, 모든 줄은 그 아래에 추가적인 새로운 줄을 가지고 있습니다. 만약 텍스트가
안녕 세계
그것은 헬로를 출력할 것입니다.
세계
코드는 이것입니다.
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
FILE* fp;
char input[80], ch = 'a';
char key[] = "exit\n";
int q;
fp = fopen("c:\\users\\kostas\\desktop\\original.txt", "r+");
while (!feof(fp)) {
fgets(input, 80, fp);
puts(input);
}
fclose(fp);
return 0;
}
일반적으로 새 줄을 생략하려면 puts() 대신 fputs()를 사용합니다.당신의 코드에서,
puts(input);
다음이 될 것입니다.
fputs(input, stdout);
puts()
라이브러리 사양으로 새 줄 문자를 추가합니다.사용할 수 있습니다.printf
대신 형식 문자열로 인쇄할 내용을 제어할 수 있습니다.
printf("%s", input);
사용자 지정 풋 기능을 작성할 수도 있습니다.
#include <stdio.h>
int my_puts(char const s[static 1]) {
for (size_t i = 0; s[i]; ++i)
if (putchar(s[i]) == EOF) return EOF;
return 0;
}
int main() {
my_puts("testing ");
my_puts("C puts() without ");
my_puts("newline");
return 0;
}
출력:
testing C puts() without newline
이렇게 하면 됩니다.
#include<stdio.h>
void put_s(char* s){
while(*s) putchar(*s++);
}
더 많은 예를 들어보자면, 여기 재귀와 관련된 또 다른 예가 있습니다.
#include<stdio.h>
void put_s(char* s){
if(!*s) return;
putchar(*s);
put_s(s+1);
}
참고: 당신의 코드가 컴파일되지 않는다는 것을 알았습니다.#include<iostream>
그리고using namespace std;
.
언급URL : https://stackoverflow.com/questions/17238784/c-puts-without-newline
반응형
'programing' 카테고리의 다른 글
세션 상태 손실 (0) | 2023.06.11 |
---|---|
기본 라인 색상 주기 가져오기 (0) | 2023.06.11 |
Python Regex가 그룹을 즉시 대체 (0) | 2023.06.11 |
변수를 사용하여 data.table에 열 이름 전달 (0) | 2023.06.11 |
*(uint32_t*) 식을 이해하지 못함 (0) | 2023.06.11 |