お世話になります。
以下のCソースは、
画面からのユーザの入力を待って、
入力された値を画面に表示させるように作っています。
Windows7で動かすとちゃんと入力した値を画面に表示するのですが、
CentOSで動かすと入力した値が画面に表示されません。
[ソース]
#include <stdio.h>
#include <string.h>
int main(){
char msg[32];
printf("type your message >>>>\t");
fgets(msg,sizeof(msg),stdin);
msg[strlen(msg) - 1] = '\0';
printf("typed : %s\n",msg);
return 0;
}
[Windowsでの結果]
C:>promptTest
type your message >>>> test
typed : test
C:>
[CentOSでの結果]
$ ./promptTest
type your message >>>> test
typed :
$
原因がまったく見当つかないのですが、
どなたか、おわかりになりますか?
gccでコンパイルしていますが、
いずれも、エラー、ワーニングは出ていません。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
CentOS 6.5にPoderosa 4.3.8bで接続して試しました。
[user@localhost ~]$ ./a.out
type your message >>>> 1234
typed : 1234
[user@localhost ~]$
ってコトで正常に動作していますが……。
それなら…と、送信改行コードをCR+LFにしてみました。
[user@localhost ~]$ ./a.out
type your message >>>> test
typed :
[user@localhost ~]$
fgets()の直後に
printf("len=%d\n", strlen(msg));
を入れてコンパイル。送信改行コードをCR+LFにして実行してみました。
[user@localhost ~]$ ./a.out
type your message >>>> test
len=1
typed :
[user@localhost ~]$
送信改行コードをLFに設定し、入力待ちになってから送信改行コードをCR+LFに換えてみました。
[user@localhost ~]$ ./a.out
type your message >>>> test
len=5
typed : test
[user@localhost ~]$
とりあえずの実験結果です。
この回答への補足
Poderosa 4.1.0を使っています。
改行コードがCR+LFになっていました。
CRまたはLFで実行すると、
正常に結果が返るようになりました。
$ ./promptTest
type your message >>>> test
typed : test
$
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- PHP php ログイン 1 2022/11/01 00:24
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エスケープ文字の復帰(¥r)と...
-
ソースコードの1行が長いとき...
-
VBAのコマンドボタンの文字列の...
-
ファイルから読み取った改行文...
-
jsp 改行コードで改行させて表...
-
JAVA System.out.println の ...
-
COBOLの改行
-
C++で空Enterの入力を判...
-
秀丸の正規表現で複数行にわた...
-
改行コード2種類を混在させたい
-
改行を読み飛ばす
-
VBAでCSVをExcelに取り込む時に...
-
ファイル内の1行(レコード)から...
-
改行コードが半角スペースにな...
-
C++でのCRLFについて
-
C言語について。
-
【VBA】エクセルで最後の不要な...
-
Getlineについて・・・・・・
-
C# csvでセル内で改行するには
-
改行が半角スペースに変わる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
COBOLの改行
-
改行について
-
最終行の改行について
-
C++で空Enterの入力を判...
-
【VBA】エクセルで最後の不要な...
-
jsp 改行コードで改行させて表...
-
C++でのCRLFについて
-
ファイルから読み取った改行文...
-
テキストファイルから改行コー...
-
ExcelVBAでメールを作成してメ...
-
awkで改行を除いて文字列を抜き...
-
エクセルVBA 文字列領域が不足...
-
VBAでCSVをExcelに取り込む時に...
-
コンボボックスの項目中に改行を
-
JavaDoc コメントの改行について
-
Excel VBAからBeckyを起動して...
-
改行を読み飛ばす
おすすめ情報