コンソールアプリケーションの表示方法の質問

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: コンソールアプリケーションの表示方法の質問

box様。レスいただきありがとうございました。解決できました。

#5

by YuuUeno » 1年前

box さんが書きました:
1年前
入力回数の上限は決まっているんですか?
書き込みいただきありがとうございます。
入力回数の上限は今回は決まっておりませんでした。
今回は自分のイメージ通り解決できました。
ありがとうございました。

本来最初に書くべき内容とソースコードを貼り付けておりませんでした。
大変失礼いたしました。
下記に記述させていただきます。

[1]
 [1.1] 自分が今行いたい事
  ・コンソールアプリでの入出力の練習用プログラム
 [1.2] どのように取り組んだか
  ・入門サイトなどでの独学
 [1.3] どのようなエラーやトラブルで困っているか
  ・コンソール上でのカーソル位置を自分で指定する方法がわからない

[2] 環境  
 [2.1] OS : Windows 11 Pro ver.21H2
 [2.2] 開発環境:VisualStudio2022

[3] その他
 ・どの程度C言語を理解しているか
  →C言語=基礎がなんとなくわかるレベル
 ・ライブラリを使っている場合は何を使っているか
  →C言語標準ライブラリ
 
コード:

#include<stdio.h>
#include<string.h>

#pragma warning (disable:4996)

int main() {
int i = 0;
char str[16][64];

memset(str, '\0', sizeof(str));

printf("Input Please >>");

while (true) {
scanf("%s", str);
printf("[%s]", str);
printf("\033[%d;%dH", 1, 16);//printf("\033[%d;%dH" ,10,20) //カーソル位置を、高さ1行目、横16行目に移動
printf("\033[0K");//カーソル位置からその行の右端までをクリア
}
return 0;
}

レスいただきありがとうございました。解決できました。

#4

by YuuUeno » 1年前

あたっしゅ様。ご教授いただきありがとうございました。
イメージ通りの処理ができ問題が解決いたしました。

本来最初に書くべき内容とソースコードを貼り付けておりませんでした。
大変失礼いたしました。
下記に記述させていただきます。

[1]
 [1.1] 自分が今行いたい事
  ・コンソールアプリでの入出力の練習用プログラム
 [1.2] どのように取り組んだか
  ・入門サイトなどでの独学
 [1.3] どのようなエラーやトラブルで困っているか
  ・コンソール上でのカーソル位置を自分で指定する方法がわからない

[2] 環境  
 [2.1] OS : Windows 11 Pro ver.21H2
 [2.2] 開発環境:VisualStudio2022

[3] その他
 ・どの程度C言語を理解しているか
  →C言語=基礎がなんとなくわかるレベル
 ・ライブラリを使っている場合は何を使っているか
  →C言語標準ライブラリ
 

コード:

#include<stdio.h>
#include<string.h>

#pragma warning (disable:4996)

int main() {
	int i = 0;
	char str[16][64];
	
	memset(str, '\0', sizeof(str));
	
	printf("Input Please >>");
	
	while (true) {
		scanf("%s", str[i]);
		printf("[%s]", str[i]);
		printf("\033[%d;%dH", 1, 16);//printf("\033[%d;%dH" ,10,20) //カーソル位置を、高さ1行目、横16行目に移動
		printf("\033[0K");//カーソル位置からその行の右端までをクリア
	}
	return 0;
}

Re: コンソールアプリケーションの表示方法の質問

#3

by box » 1年前

入力回数の上限は決まっているんですか?

Re: コンソールアプリケーションの表示方法の質問

#2

by あたっしゅ » 1年前

東上☆海美☆「
エスケープ・シーケンスの使えるコンソールなら、エスケープ・シーケンスを使えばできるみみ。
エスケープは ESC と表記されていることがあるみみ。

コンソールアプリケーションの表示方法の質問

#1

by YuuUeno » 1年前

はじめまして。独学でC言語を勉強しております。
Scanfで配列に数字を格納して表示するだけのコンソールアプリケーションをC言語で作成しました。

以下、作成結果。

//ここから
Input>>123
[123]
Input>>456
[123][456]
Input>>789
[123][456][789]
Input>>xxx
[123][456][789][xxx]
//ここまで
このように出力するように作りました。
ここからさらに改良して、

//ここからやりたいこと
Input>>xxx ←ここに数字を入力したら
[123][456][789[xxx]←下に追加されていく
//ここまで

上記のように1行めに入力カーソルをもってきて
2行目には出力が追加表示されるように作り変えたいです。

試行錯誤しましたが、良いロジックが思いうかびません。
そもそも入力待ちの下に配列の中身を表示させることができるのかも調査しましたがいまのところ
有用な情報を見つけることができません。C言語にお詳しい方いらっしゃいましたら、
お知恵をお借りしたくお願い申し上げます。

ページトップ