0
나는 입력에 사용하여 여러 줄 문자열을합니다. 예
:다중 라인 입력 문자열을 사용하여는 fgets
입력 :
my name is sandy
i am learning C
및 출력 같아야 중대
my name is sandy
i am learning C
나는 입력에 사용하여 여러 줄 문자열을합니다. 예
:다중 라인 입력 문자열을 사용하여는 fgets
입력 :
my name is sandy
i am learning C
및 출력 같아야 중대
my name is sandy
i am learning C
#include <stdio.h>
#include <string.h>
char *mfgets(char * restrict s, int n, FILE * restrict stream){
int ch, i=0;
if(n<1)return NULL;
if(n==1){
*s = '\0';
return s;
}
while(EOF!=(ch=fgetc(stream))){
s[i++] = ch;
if(i == n - 1) break;
if(ch == '\n'){
char next = fgetc(stream);
if(next == '\n')
break;
else
ungetc(next, stream);
}
}
s[i] = '\0';
return i == 0 ? NULL : s;
}
int main(int argc, char *argv[]){
char str[100];
printf("input (only newline is end)\n");
mfgets(str, 100, stdin);
printf("%s", str);
return 0;
}
. 질문 있습니까? 'fgets'는 확실히 시작하기에 적합한 함수입니다. –
fgets 자체에서 여러 줄을 읽는 것은 불가능합니다. 나중에 strcat 경우 ... – BLUEPIXY
당신은 당신의 책에서 "고리"를 보았습니까? –