C言語プログラミング 9/18
gets関数の置き換え関数を作ってモジュール化してみました。遊びなので、ソースコードの保証はしません。// getsrpl.h#ifndef _GETSRPL_H_
#define _GETSRPL_H_
//プロトタイプ宣言
char *getsrpl(char *str, int len);
#endif //_GETSRPL_H//getsrpl.c#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "getsrpl.h"
char *getsrpl(char *str, int len){
int n;
int c;
//読み取りエラーの発生時や、配列に1文字も読み取らなかった場合
if( fgets(str, len, stdin) == NULL ){
return NULL;
}
n = strlen(str);
if( str[n-1] == '\n' ){ //改行文字が余計に格納されている場合
str[n-1] = '\0';
}
else{ //オーバーフローした場合読み捨てる
while(1){
c = getchar();
if(c == '\n'){
break;
}
else
0