はじめまして。独学で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言語にお詳しい方いらっしゃいましたら、
お知恵をお借りしたくお願い申し上げます。
コンソールアプリケーションの表示方法の質問
Re: コンソールアプリケーションの表示方法の質問
東上☆海美☆「
エスケープ・シーケンスの使えるコンソールなら、エスケープ・シーケンスを使えばできるみみ。
エスケープは ESC と表記されていることがあるみみ。
」
エスケープ・シーケンスの使えるコンソールなら、エスケープ・シーケンスを使えばできるみみ。
エスケープは ESC と表記されていることがあるみみ。
」
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
レスいただきありがとうございました。解決できました。
あたっしゅ様。ご教授いただきありがとうございました。
イメージ通りの処理ができ問題が解決いたしました。
本来最初に書くべき内容とソースコードを貼り付けておりませんでした。
大変失礼いたしました。
下記に記述させていただきます。
[1]
[1.1] 自分が今行いたい事
・コンソールアプリでの入出力の練習用プログラム
[1.2] どのように取り組んだか
・入門サイトなどでの独学
[1.3] どのようなエラーやトラブルで困っているか
・コンソール上でのカーソル位置を自分で指定する方法がわからない
[2] 環境
[2.1] OS : Windows 11 Pro ver.21H2
[2.2] 開発環境:VisualStudio2022
[3] その他
・どの程度C言語を理解しているか
→C言語=基礎がなんとなくわかるレベル
・ライブラリを使っている場合は何を使っているか
→C言語標準ライブラリ
イメージ通りの処理ができ問題が解決いたしました。
本来最初に書くべき内容とソースコードを貼り付けておりませんでした。
大変失礼いたしました。
下記に記述させていただきます。
[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;
}
box様。レスいただきありがとうございました。解決できました。
書き込みいただきありがとうございます。
入力回数の上限は今回は決まっておりませんでした。
今回は自分のイメージ通り解決できました。
ありがとうございました。
本来最初に書くべき内容とソースコードを貼り付けておりませんでした。
大変失礼いたしました。
下記に記述させていただきます。
[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;
}