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

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

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

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

Q&A

3回答

744閲覧

c言語の任意の場所に文字列を表示について

triagain23

総合スコア9

C

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

0グッド

0クリップ

投稿2018/07/04 11:08

大学でc言語を学んでいる者です。
c言語で文字列を任意の場所に表示するにはどうすればよいでしょうか?
例えば、文字列 appleという文字列を実行画面の 3行目の4列目から表示するようにしたいということです。
(大学の課題で8×8のゲームを作成して、その横にスコアみたいな物を表示するようにしたいです。)

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

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

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

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

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

ttyp03

2018/07/05 00:47

環境を書いてください。それによって回答が大きく変わると思います。
guest

回答3

0

認知度は意外と低いのですが、Linuxの端末であれば**「ANSIエスケープシーケンス」**が使えます。\x1b[に続けて所定の書式で文字を出力するだけで、表示位置を指定したり、文字の色を変えてカラフルに表示させたりと、様々な機能が利用できます。

この辺に判りやすい説明が書かれています。
https://qiita.com/PruneMazui/items/8a023347772620025ad6
https://www.mm2d.net/main/prog/c/console-02.html


追記

下のコメントにも書きましたが、Windowsのコマンドプロンプトでは、そのままではANSIエスケープシーケンスは使えません。↓のようなコードを実行すると使えるようになります。
※標準出力ではなく標準エラーに出力する場合は、STD_OUTPUT_HANDLEをSTD_ERROR_HANDLEに変えてください。

c++

1DWORD mode; 2::GetConsoleMode(::GetStdHandle(STD_OUTPUT_HANDLE), &mode); 3::SetConsoleMode(::GetStdHandle(STD_OUTPUT_HANDLE), mode | ENABLE_VIRTUAL_TERMINAL_PROCESSING);

投稿2018/07/04 15:46

編集2018/07/05 11:59
catsforepaw

総合スコア5938

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

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

pepperleaf

2018/07/05 11:22

今のWindowsのコマンドプロンプトでは? 以前は使えたと思うが。
catsforepaw

2018/07/05 11:33

コマンドプロンプトだと、そのままでは使えませんね。Git Bashのシェルから実行してみたら、ちゃんと使えてました。おそらくMSYS2のシェルでもいけると思います。 Windows10なら、Windows APIのSetConsoleMode関数でコマンドプロンプトのモードを切り替えればANSIエスケープシーケンスが使えるようになります。
pepperleaf

2018/07/05 12:16

やっぱり、最近のはダメだったですか。以前は、DOSアプリ(ANSIエスケープ)がそのまま動いたのですが。まあ、64bitだと、16bitは当然、サポート外。 ... あ、Linixでは確認して無いですが、Unixだと、端末モードに設定によって、ANSIエスケープシーケンス NGがありました。要注意 (昔、引っ掛かった)
guest

0

実行画面とは?
コマンドプロンプトならば、まあ、 curses かも。
もっとも、その都度、画面書き換えでの表示もありですね。
自分が想定する画面データをその都度、出力する。

グラフィックならば、環境明記です。
今時、C言語では流行らない気もしますが。

投稿2018/07/04 12:06

pepperleaf

総合スコア6383

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

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

0

第一感は、「curses ライブラリ」です。
curses ライブラリ関数
を見てみたらいかがでしょうか。

投稿2018/07/04 11:27

ikapy

総合スコア1167

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問