質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

1回答

3264閲覧

例えば、キーボードで{s}を入力したら、Hello {s}!と表示させるプログラム

kamiyareiko

総合スコア1

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2021/08/10 02:56

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

エラーメッセージ

エラーではありませんが、
Hello {s}
!(改行になってしまいます。)

該当のソースコード

C言語 ソースコード #include <stdio.h> #include <stdlib.h> //問題の要求する1行のサイズが大きい場合はこの値を変更してください。 // If the problem requires more large line size, please modify following. #define LINE_BUF_SIZE 1024 int main( void ) { // このコードは標準入力と標準出力を用いたサンプルコードです。 // このコードは好きなように編集・削除しても構いません。 // --- // This is a sample code to use stdin and stdout. setbuf(stdout,0);//msPEwbXEの制限:main関数の最初の実行文の前に置く static char line[LINE_BUF_SIZE]; //char line[LINE_BUF_SIZE]; //char s[1024]; //int index = 1; while( fgets( line, sizeof( line ), stdin ) != NULL ) { //puts( "!" ); //printf( "Hello %s%c", line ); printf( "Hello %s!", line ); //scanf( "%s", line ); exit( 0 ); } //return 0; }

試したこと

ここに問題に対して試したことを記載してください。
printf( "Hello %s%c", ”!”, line );等を試してもダメでした。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

fgetsは改行文字まで含めて取得しますので、改行文字が無い方が良いのであれば、削除する必要があります。

C

1int l; 2fgets(line, sizeof line, stdin); 3l=strlen(line); 4if(l>0 && line[l-1]=='\n') line[l-1] = '\0';

投稿2021/08/10 03:05

otn

総合スコア84559

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2021/08/10 03:19

fgetsの返り値がNULLでなければ、strlen(line)が0になることは無いので、 実質的には l>0 のチェックは不要です。
kamiyareiko

2021/08/10 03:22

ありがとうございました。解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問