• [解決済み] C 言語のファイルディスクリプタからファイル名を取得する。

    質問 ファイルディスクリプタ(Linux)のファイル名をC言語で取得することは可能でしょうか? どのように解決するのですか? あなたは readlink で /proc/self/fd/NNN ここで、NNNはファイル記述子です。しかし、その後にファイルを移動したり削除したりした場合は、もはや正確ではないかもしれません(Linuxは場合によってはリネームを追跡することがで

    2022-08-14 20:20:44
  • [解決済み] C言語における*ptr += 1と*ptr++の違いについて

    質問 C言語を勉強し始めたのですが、関数のパラメータとしてポインタからポインタに渡すという例をやっていて、問題が発生しました。 これは私のサンプルコードです。 #include <stdio.h> #include <string.h> #include <stdlib.h> int* allocateIntArray(int* ptr, int

    2022-08-13 20:43:29
  • [解決済み] C 言語の単一構造体メンバのサイズ

    質問 他の構造体に依存する構造体を宣言しようとしています。 私は sizeof を使いたいのですが、安全かつ杓子定規になります。 typedef struct _parent { float calc ; char text[255] ; int used ; } parent_t ; ここで、構造体 child_t と同じ大きさの parent_t.text

    2022-08-13 03:02:48
  • [解決済み] C言語でファイルの内容を文字列に読み込むには?

    質問 C 言語でファイルを開き、その内容を文字列 (char*, char[], 何でも) に読み込む最も簡単な方法 (最もエラーが起こりにくい方法、最も少ないコード行数、どのように解釈してもよい) は何ですか? どのように解決するのですか? 私は、バッファ全体を生のメモリ チャンクとしてメモリにロードし、自分自身でパージングを行うことが多いです。そうすることで、複数のプラットフォー

    2022-08-12 07:37:42
  • [解決済み] gccは前処理をした後にCコードを出力できますか?

    質問 私はオープンソースのライブラリを使っていますが、C言語以外の多くの言語をサポートするために多くの前処理ディレクティブを持っているようです。ライブラリが何をしているかを研究するために、前処理後にコンパイルしているCコードを見たいと思います。 gcc (または Linux で一般に利用できる他のツール) はこのライブラリを読みますが、前処理を何に変換してもらって、人間にも読める C コ

    2022-08-11 05:39:02
  • [解決済み] char** argvとchar* argv[]のどちらを使うべきですか?

    質問 C言語を勉強しているのですが、mainメソッドにこのうちのどれを使ったらいいのか悩んでいます。何か違いがあるのでしょうか?どちらがより一般的ですか? どのように解決するのですか? C言語を学習しているのですから、まずは の違い の代わりに、配列とポインタの違いをまず理解することをお勧めします。 共通 のものです。 パラメータと配列の領域では、先に進む前に明確に

    2022-08-07 09:51:06
  • [解決済み] malloc()は内部でどのように実装されているのですか?重複

    質問 この質問はすでにここに回答があります : malloc()とfree()はどのように動作するのですか? (13の回答) 終了 8 年前

    2022-08-05 11:43:38
  • [解決済み] C言語で簡単なHTTPサーバを構築する [終了しました]。

    質問 ここで何が聞かれているのかを知ることは困難です。この質問は曖昧、漠然、不完全、過度に広い、または修辞的であり、現在の形式では合理的に回答することができません。この質問を明確にし、再開できるようにするための支援を求めています。 ヘルプセンターをご覧ください。 .

    2022-08-05 11:21:25
  • [解決済み] 末尾再帰の仕組みは?

    質問 末尾再帰の仕組みと通常の再帰との違いはほぼ理解しています。I だけ がなぜ はしないのか はスタックに戻り先アドレスを記憶させる必要があるのか理解できません。 // tail recursion int fac_times (int n, int acc) { if (n == 0) return acc; else return fac_times(

    2022-08-04 14:21:14
  • [解決済み] C言語で整数値からビット単位のデータを取得するには?

    質問 10進数のビットを抽出したい。 例えば、7は2進数の0111ですが、boolに格納されている全ビットの0 1 1 1を取り出したいのです。どのようにすればよいのでしょうか? OK、ループは良い選択ではありません、このために何か他のことをすることができますか? どのように解決するのですか? nのk番目のビットが欲しい場合は、次のようにします。 (n & ( 1

    2022-08-02 03:48:08
  • [解決済み] ステートマシンの典型的な実装パターンはありますか?

    質問 の簡単なステートマシンを実装する必要があります。 C . 標準のswitch文が一番いいのでしょうか? 現在の状態(state)と、遷移のトリガーを用意しています。 switch(state) { case STATE_1: state = DoState1(transition); break; case STATE_2: s

    2022-07-31 04:17:11
  • [解決済み] C言語で配列と配列ポインタを関数に渡す場合の違い

    質問 C言語の2つの関数の違いは何ですか? void f1(double a[]) { //... } void f2(double *a) { //... } もし実質的に長い配列に対して関数を呼び出すとしたら、これら2つの関数は異なる動作をするでしょうか、スタック上のより多くのスペースを取るでしょうか。 どのように解決するのですか? まず、いくつかの 標

    2022-07-30 07:12:22
  • [解決済み] Linuxのコマンドで16進数の情報を2進数に変換する。

    質問 私のLinuxシステムには、このバイナリファイルがあります... udit@udit-Dabba ~ $ cat file.enc Salted__s�bO��<0�F���Jw!���]�:`C�LKȆ�l hexdumpコマンドを使うと、このようにその情報が表示されます。 udit@udit-Dabba ~ $ hexdump -C file.enc 000

    2022-07-28 01:26:52
  • [解決済み] C言語の文字桁を対応する整数に変換する。

    質問 C言語で文字を整数に変換する方法はありますか? 例えば '5' から5? どのように解決するには? 他の回答通り、これで大丈夫です。 char c = '5'; int x = c - '0'; また、エラーチェックのために、最初に isdigit(c) が真であることを確認したい場合があります。例えば文字に対して完全に移植的に同じことをすることはできないことに

    2022-07-25 17:26:23
  • [解決済み] なぜC言語ではauto a=1;がコンパイルされるのですか?

    質問 コードです。 int main(void) { auto a=1; return 0; } は、MS Visual Studio 2012 のコンパイラで、拡張子が .c のファイルをエラーなくコンパイルすることができます。私は常々、拡張子.cを使用する場合、コンパイルはC++ではなく、Cの構文に従うべきだと考えています。さらに、私の知る限り、型を指定しないau

    2022-07-22 21:14:27
  • [解決済み] 要素数0の配列の必要性とは?

    質問 Linuxカーネルのコードの中に、以下のような理解不能なものがあります。 struct bts_action { u16 type; u16 size; u8 data[0]; } __attribute__ ((packed)); コードはこちらです。 http://lxr.free-electrons.com/so

    2022-07-20 13:35:34
  • [解決済み] C 言語の配列に値が存在するかどうかを素早く見つけるには?

    質問 サイズ256(できれば1024、ただし256が最小)の配列を繰り返し処理し、値が配列の内容に一致するかどうかをチェックする必要があるタイムクリティカルなISRを持つ組み込みアプリケーションを使用しています。A bool は true に設定されます。 マイクロコントローラはNXPのLPC4357、ARM Cortex M4コアで、コンパイラはGCCです。私はすでに最適化レベル

    2022-07-19 22:37:11
  • [解決済み] 関数からC言語の文字列を返す

    質問 ある関数からC言語の文字列を返そうとしているのですが、うまくいきません。以下は私のコードです。 char myFunction() { return "My String"; } で main このように呼び出しています。 int main() { printf("%s", myFunction()); } また、他の方法として myFunction

    2022-07-19 13:14:01
  • [解決済み] C言語で文字列を小文字にするには?

    質問 C言語で大文字と小文字が混在する文字列を小文字に変換するにはどうすればよいですか? どのように解決するのですか? これは標準ライブラリにあり、そのような関数を実装するための最もわかりやすい方法だと思います。そう、文字列をループして各文字を小文字に変換すればよいのです。 このような些細なことです。 #include <ctype.h> for(int i =

    2022-07-17 20:33:10
  • [解決済み] マクロの定義をmakeのコマンドライン引数(-D)からCのソースコードに渡すには?

    質問 私は通常、"make コマンドライン" から "makefile" にマクロ定義を渡すとき、オプション : -Dname=value "というオプションを使用しています。定義は makefile の内部でアクセス可能です。 私はまた、"makefile" から "source code" へ、同様のコンパイラーオプションを使用してマクロ定義を渡します。 -Dname=value (

    2022-07-14 14:27:52