[解決済み] 関数 'strlen' の暗黙の宣言」の警告を受ける。
2022-02-05 10:37:35
質問
簡単なコードを書いているのですが、警告が表示されます。
-bash-3.2$ gcc -Wall print_process_environ.c -o p_p
print_process_environ.c: In function 'print_process_environ':
print_process_environ.c:24: warning: implicit declaration of function 'strlen'
print_process_environ.c:24: warning: incompatible implicit declaration of built-in function 'strlen'
以下は、そのコードです。
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include <strings.h>
void
print_process_environ(pid_t pid)
{
int fd;
char filename[24];
char environ[1024];
size_t length;
char *next_var;
snprintf(filename, sizeof(filename), "/proc/%d/environ", (int)pid);
printf("length of filename: %d\n", strlen(filename));
fd = open(filename, O_RDONLY);
......
の定義は
strlen()
は
#include <string.h>
size_t strlen(const char *s);
この警告を消す方法。
解決方法は?
それは
#include <string.h>
. あなたのコードではスペルが間違っているのです。また、コンパイラで警告が出た場合は、常に
man function_name
ターミナルでその関数に必要なヘッダーを見ることができます。
#include <string.h> // correct header
#include <strings.h> // incorrect header - change this in your code to string.h
関連
-
[解決済み】組み込み関数「malloc」の暗黙の宣言の非互換性
-
[解決済み】警告:互換性のないポインタ型からの代入
-
[解決済み】式は変更可能なL値でなければならない
-
[解決済み】Linuxソケットのwrite()でBad File Descriptorが発生するC
-
[解決済み】c - 警告:関数 'printf'の暗黙の宣言
-
[解決済み】警告/エラー "関数宣言がプロトタイプでない" について
-
[解決済み] 警告: 組み込み関数 'xyz' の非互換な暗黙の宣言
-
[解決済み】C言語の関数ポインタはどのように機能するのですか?
-
[解決済み】定義と宣言の違いは何ですか?
-
[解決済み】警告:関数の暗黙の宣言
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】valgrind - サイズ8のブロックが割り当てられた後、アドレス ---- が0バイトになる。
-
[解決済み】ISO C90では、C言語での宣言とコードの混在が禁止されています。
-
[解決済み】警告。この関数ではXが初期化されていない状態で使用される可能性があります。
-
[解決済み】 switch case: error: case label does not reduce to an integer constant
-
[解決済み】C言語で入力が整数型かどうかチェックする
-
[解決済み】malloc():メモリ破壊
-
[解決済み】インクリメントオペランドとして lvalue が必要です。
-
[解決済み】なぜか。"エラー: 配列型を持つ式への代入"
-
[解決済み】.axfファイルとは何ですか?
-
[解決済み】配列型char[]が代入できない [重複]。