アプリ版:「スタンプのみでお礼する」機能のリリースについて

多分write関数だと思うのですが、例えば、わざわざタイピング記録7月、タイピング記録8月・・・と書かないといけないところをある関数を使うと、わざわざ書かなくても済むという話なのですが。 教えていただけると嬉しいです。

A 回答 (2件)

write()は、引数に指定したファイル記述子に対して引数で指定したメモリの番地から指定したバイト数だけを書き込むといった仕様だと思います。

つまり、ファイル、画面、ネットワークなどに情報を送る時に使うものです。

write()を使うためには、指定するメモリ番地(ポインタ)に対して実際に出力する文字列を用意しておき、この先頭ポインタを指定します。雰囲気的に可読性のある文字列を画面等に出力したいのだと思いますが、write()を使うのであれば次の点に注意する必要があります(地味に難易度が高いです)。
・数値をASCII文字の数字に相当する文字データにする
・桁数が可変(1月と12月はバイト数が異なります)なように書き込むバイト数を適切に指定する、バッファサイズも必要な分確保する
・(大抵の処理系では実質不要だが)一度のwrite()で書けなかった場合にすべて書き切るように処理する

これの意味が分からないのであれば、素直にprintf()などを使った方が早いです。

で、「ある関数」とは、No.1の回答にあるように、上記のことをやってのける関数を自作するということです。
    • good
    • 0

「ある関数」じゃなく、単にそういう関数を定義(=プログラミング)するということかと。



>わざわざタイピング記録7月、タイピング記録8月
こんなピンポイントな関数を提供する人がいると思えないので。
#いたらごめんなさい。
    • good
    • 0
この回答へのお礼

write関数がなしとありの場合の違いというのは思い出せたのですが。教えていただけると嬉しいです。すみません。

お礼日時:2023/01/29 09:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!