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

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

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

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

Q&A

解決済

3回答

2131閲覧

printfの出力を更新したい

Masalu_Kudou

総合スコア91

C

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

0グッド

0クリップ

投稿2019/05/02 16:54

お世話になっております。

現在C言語でcuiのゲームを作成しているのですが、
そのなかで画面(出力)を更新する方法を知りたく、ご存知の方はアドバイスをお願いいたします。

イメージに近いサンプルを作成しました

#include <stdio.h> int main(void){ printf("test\ntest"); printf("\r上書きtest"); }

簡単なソースですが、これを実行した場合、

test
上書きtest

と表示されます。
\rの仕組み上\n以降のtestしか上書きされないのですが、
これをうまくすべて上書きし、

上書きtest

にすることはできないかなと模索しています。

是非、よろしくお願いいたします。

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

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

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

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

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

guest

回答3

0

cursesの利用を考えるとよいでしょう。

投稿2019/05/02 23:24

asm

総合スコア15147

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

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

Masalu_Kudou

2019/05/04 10:23

ご回答ありがとうございます! こんな便利なものがあったのですね。
guest

0

ベストアンサー

「エスケープシーケンス」で出来るかもしれません.
検索してみては如何でしょうか.

投稿2019/05/02 17:26

jimbe

総合スコア12632

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

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

Masalu_Kudou

2019/05/02 18:44

昨日に引き続きありがとうございます! エスケープシーケンスですか。。。調べてみます!
Masalu_Kudou

2019/05/02 20:11

ありがとうございました!! あの後「ESC[nK」と「ESC[nF」を組み合わせた処理を実行したら、 私の希望していた結果が出力されました!!本当にありがとうございます!!
guest

0

Windowsでコマンドプロンプトの場合は以下のように

system("cls");

としてclsコマンドでクリアできます。

投稿2019/05/02 16:59

編集2019/05/02 17:00
aikon_marimo

総合スコア1083

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

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

Masalu_Kudou

2019/05/02 17:01

ご回答ありがとうございます! すみません、環境はCentOS6になります。
aikon_marimo

2019/05/02 17:03

試して無いですが、linuxだとclearコマンドに代わるだけかと思うので system("clear"); でできませんか?
Masalu_Kudou

2019/05/02 18:43

ご回答ありがとうございます。 試したところ、下記のエラーが出て、ダメでした。。。 ======================= implicit declaration of function 'system' =======================
aikon_marimo

2019/05/02 19:22

stdlibをインクルードすればいいです
Masalu_Kudou

2019/05/02 20:09

ありがとうございます。無事実行できました! しかし、上書きtestの文字までも消えてしまいました…。もしかしたら私の 環境が悪いのかもしれませんね。
aikon_marimo

2019/05/02 22:43

環境じゃないです。 画面をクリアするコマンドなので、testを出力した後(上書きtestを出力する前)に実行すればいいです。
aikon_marimo

2019/05/02 22:47

それか上書きtestを出力した後に改行していないので左上に出力されているのを見落としているのでしょう
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問