サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
購入・発注したい方
サービスを探す
プロ人材を探す
ノウハウ・素材を探す
ブログを探す
仕事・求人を投稿して募集
エージェントに人材を紹介してもらう
受注・働きたい方
出品する
単発の仕事を探す
継続 (時給/月給) の仕事を探す
エージェントに仕事を紹介してもらう
カテゴリ一覧
イラスト作成・漫画制作
デザイン制作
Web制作・HP作成・EC構築
動画編集・映像制作
集客・マーケティング相談
NEW
ビジネス代行・事務代行
音楽制作・ナレーション
IT相談・システム開発
ライティング・翻訳
コンサルティング・士業
生成AI活用・開発・制作
NEW
占い
悩み相談・カウンセリング
学習指導・資格・キャリア相談
住まい・美容・生活相談
オンラインレッスン・習い事
ハンドメイド制作
出張撮影・出張サービス
資産運用・副業の相談
NEW
弁護士検索・法律Q&A(法律相談)
サポート
はじめての方へ
ご利用ガイド
お困りのときは
ログイン
会員登録
サービスを探す
イラスト作成・漫画制作
>
デザイン制作
>
Web制作・HP作成・EC構築
>
動画編集・映像制作
>
集客・マーケティング相談
NEW
>
ビジネス代行・事務代行
>
音楽制作・ナレーション
>
IT相談・システム開発
>
ライティング・翻訳
>
コンサルティング・士業
>
生成AI活用・開発・制作
NEW
>
占い
>
悩み相談・カウンセリング
>
学習指導・資格・キャリア相談
>
住まい・美容・生活相談
>
オンラインレッスン・習い事
>
ハンドメイド制作
>
出張撮影・出張サービス
>
資産運用・副業の相談
NEW
>
>
プロ人材を探す
>
ノウハウ・素材を探す
ブログを探す
>
求人募集を投稿する
人材を紹介してもらう
仕事を探す
出品する
仕事を探す
仕事を紹介してもらう
出品する
仕事を紹介してもらう
求人募集を投稿する
人材を紹介してもらう
ブログを投稿
会員登録で10%割引クーポンを獲得!
会員登録で10%割引クーポンを獲得!
ココナラブログ
ホーム
ブログトップ
ブログ
IT・テクノロジー
C言語プログラミング 9/18
記事
IT・テクノロジー
Riku_Toudou
2021/09/18 14:43
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 if(c == EOF){
if( feof(stdin) ){ //終端
break;
}
else if( ferror(stdin) ){ //入力エラー
return NULL;
}
}
else{
}
}
}
return str;
}
いろいろ調べて見よう見まね的に、ですが・・・。終端処理がいまいちピンと来ていません。
十分大きなバッファ用意してfgetsの方が断然安心ですね(笑
プログラミングの相談に乗ります
#プログラミング
#C言語
#遊び
一覧に戻る