端末で入力を受けて、改行せずに次の表示を行いたいのですが、
char str[32];
printf("ほげほげ");
fgets(str, sizeof(str), stdin);
str[strlen(str) - 1] = '\0';
printf("ホゲホゲ");
とすれば
「ほげほげ (入力した内容) ホゲホゲ」
と表示できると考えましたが、これでは改行されて
「ほげほげ (入力した内容)
ホゲホゲ」
になってしまいます。原因がわかりません…
使用している環境は Linux Ubuntu 10.10 で gcc でコンパイルしています。
改行しない方法を説明しているサイトのサンプルをコピペして実行してみても、改行されてしまいました…
No.1ベストアンサー
- 回答日時:
>原因がわかりません…
>fgets(str, sizeof(str), stdin);
の時点で、改行文字まで込みでエコーバックされているようですから無理じゃないですかね?
# つまりターミナル上ではfgets()から戻ってきた時点で改行処理が終わっている。
>使用している環境は Linux Ubuntu 10.10 で gcc でコンパイルしています。
http://oshiete.goo.ne.jp/qa/608841.html
ioctl()の利用でなんとかなるかもしれません。
フラグの設定方法次第かも知れませんけど。
# 改行だけエコーバックさせない…ってところでしょうか。
# ECHONLが関係しますかねぇ…。
>改行しない方法を説明しているサイトのサンプルをコピペして
それは「fgets()で取得した文字列から改行コードを取り除く」ではありませんか?
まぁ、fgets()で渡したバッファよりも長い文字列を入力した場合に誤動作すると思われますが。
# 改行コードかどうか判定してから削除しないと…ね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# sprintf()の使い方について 1 2022/08/17 16:16
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- Visual Basic(VBA) ブックのCOPY 4 2023/02/25 20:17
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
ファイルから読み取った改行文...
-
改行について
-
C++でのCRLFについて
-
COBOLの改行
-
エクセルVBA 文字列領域が不足...
-
エディットボックスで改行
-
文字列型変数に1024を超えた文...
-
エディットボックスの改行
-
JavaDoc コメントの改行について
-
変数の中の改行コードをBRタグ...
-
JAVA System.out.println の ...
-
C# csvでセル内で改行するには
-
MacOSXのgccのprintfで改行が出...
-
文の改行
-
グレープシティのSPREAD...
-
nl2brを使用すると<br />が挿入...
-
JAVA Spring 改行コードを含む...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
ファイルから読み取った改行文...
-
JAVA System.out.println の ...
-
C++で空Enterの入力を判...
-
COBOLの改行
-
テキストファイルから改行コー...
-
改行について
-
【VBA】エクセルで最後の不要な...
-
1行ごとに取得して、その改行...
-
jsp 改行コードで改行させて表...
-
VBAでCSVをExcelに取り込む時に...
-
エクセルVBA 文字列領域が不足...
-
最終行の改行について
-
改行を読み飛ばす
-
コンボボックスの項目中に改行を
-
ExcelVBAでメールを作成してメ...
-
テキストボックス行の桁数を制...
-
JavaMail,本文中の改行について
おすすめ情報