দুজন পরপর ইনপুট নেবে (ইন্টিজার), তো আমি চাচ্ছি আগেরজন কি ইনপুট নিয়েছে পরেরজন যাতে তা বুঝতে না পারে। তাই কনসোলে ইনপুট যাতে না উঠে এমন কোনো ব্যবস্থা আছে কি না জানতে চাচ্ছি। ইনপুট কিন্তু একজনের পর আরেকজন কয়েকবার দেবে।

এমন কোন ফাংশন আছে কি যেটা ব্যবহার করে আমি ইন্টিজার টাইপের ভ্যারিয়েবল ইনপুট নিতে পারব যাতে কনসোলে ইনপুটে কি নিয়েছি তা দেখা না যায়?

asked 07 Feb, 03:32

Sapcy's gravatar image

Sapcy
236

edited 07 Feb, 14:40

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
21618

কনসোলে ইনপুটে কি নিয়েছি তা দেখা না যায়

আপনি কি চাচ্ছেন কনসোলে ইনপুট নেয়ার সময় কোন টাইপড ক্যারেক্টার যাতে না দেখায়(ইকো ব্যাক না করে)? পাসওয়ার্ড নেয়ার সময় যেভাবে ইনপুট নেয়া হয়?

(07 Feb, 07:31) Ashfaqur Rahman

দুই জন পর পর ইনপুট নিবে(int type) ত আমি চাচ্ছি আগের জন কি ইনপুট নিসে পরের জন যাতে তা বুজতে না পারে। তাই কনসোল এ যাতে না উঠে তা চাচ্ছি।। আর ইনপুট কিন্তু এক জনের পর আরেক জন কয়েক বার দিবে।।

(07 Feb, 11:49) Sapcy
1

@Sapcy, এই সাইটের সকল প্রশ্ন, উত্তর অবশ্যই বাংলায় হবে। আর প্রশ্ন যথাসম্ভব বিস্তারিত ব্যাখ্যা করলে অনাকাঙ্ক্ষিত উত্তর পাওয়ার সম্ভাবনা থাকে না। শিরোনাম বাংলায় রূপান্তর করে দিন। নির্দিষ্ট সময়ে রূপান্তরিত না হলে আমি পদক্ষেপ নিতে বাধ্য।

(07 Feb, 13:37) Mosharraf Hosain ♦

আমি খুবই দুঃক্ষিত @Mosharraf এখন আসা করি আমার প্রশ্নটা অনেকটাই ক্লিয়ার ☺

(07 Feb, 13:53) Sapcy

আপনি ফাইল থেকে ইনপুট নিতে পারেন । এর জন্য আপনি, freopen() ফাংশনটি ব্যবহার করতে পারেন ।

freopen("input.txt", "r+", stdin);
permanent link

answered 07 Feb, 05:06

menon's gravatar image

menon
4.2k222

দুই জন পর পর ইনপুট নিবে(int type) ত আমি চাচ্ছি আগের জন কি ইনপুট নিসে পরের জন যাতে তা বুজতে না পারে। তাই কনসোল এ যাতে না উঠে তা চাচ্ছি।। আর ইনপুট কিন্তু এক জনের পর আরেক জন কয়েক বার দিবে।।

(07 Feb, 11:50) Sapcy

উইন্ডোজের ক্ষেত্রে

getch() ফাংশন ব্যবহার করে এটা করা যাবে। getch() একটা নিউলাইন বা ক্যারিয়েজ রিটার্ন না পাওয়ার আগ পর্যন্ত কিবোর্ড থেকে ইনপুট নিবে। তবে কোন ইনপুটই কনসোলে ইকো করবে না(মানে দেখাবে না)। getch() এর জন্য conio.h হ্যাডার ফাইল ইনক্লুড করতে হবে।

#include <stdio.h>
#include <conio.h>  // for getch()
#include <stdlib.h> // for atoi()

int main(){
    char ch;
    char input[20];
    int i = 0;
    int input_num;

    /* Untill a crriage return(Enter Key) typed */
    while((ch = getch()) != '\r'){
        input[i++] = ch;
    }

    /* compelete string by null terminating */
    input[i] = '\0';

    /* convert the string into number */
    input_num = atoi(input)

    return 0;
}

গ্নু / লিনাক্স সিস্টেমের ক্ষেত্রে

গ্নু / লিনাক্স সিস্টেমের ক্ষেত্রে getch() ব্যবহার করা যাবে না। যেহেতু conio.h উইন্ডোজ স্পেসিফিক। এক্ষেত্রে termios লাইব্রেরী ব্যবহার করে টার্মিনালের ইকো অফ করে ইনপুট নিতে হবে।

#include <unistd.h>
#include <stdio.h>
#include <termios.h>

int getnumber(char *input){
    struct termios old_term, new_term;
    char ch;

    /* current terminal settings */
    tcgetattr(STDIN_FILENO, &old_term);

    /*
     * store current settings in new_term
     * then change settings
     */
    new_term = old_term;

    /* Canonical mode off, echo off */
    new_term.c_lflag &= ~(ICANON | ECHO);

    /* Apply new settings imedietly */
    tcsetattr(STDIN_FILENO, TCSANOW, &new_term);

    /* Take input untill newline is typed */
    while((ch = getchar()) != '\n'){
        *input++ = ch;
    }

    /* complete the string by null terminating */
    *input = '\0';

    /* Apply old settings imedietly */
    tcsetattr(STDIN_FILENO, TCSANOW, &old_term);

    return atoi(input);
}

int main(){
    char input[10];
    int number;

    number = getnumber(input);

    return 0;
}
permanent link

answered 08 Feb, 04:02

Ashfaqur%20Rahman's gravatar image

Ashfaqur Rahman
6049

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×4
×2

question asked: 07 Feb, 03:32

question was seen: 78 times

last updated: 08 Feb, 04:02