- ベストアンサー
C言語のisgraph
nightowlの回答
- nightowl
- ベストアンサー率44% (490/1101)
こんにちは。文字コードから文字への変換には pack 関数を使います。 $c = pack('c', $uint); そしてこの文字を使います。 if ($c =~ /[[:graph:]]/) {...} こういう書き方もできるようです。 if ($c =~ /\p{IsGraph}/) {...} ただし、文字としてありえない値を与えたときの挙動は両者で異なります。 前者は黙って無視しますが、後者は "Malformed UTF-8 character" 何とかかんとかというエラーが出ます。"$uint = 1000;" などで試してみてください。 おなじみの is 系関数を使いたいならば、POSIX モジュールを使うのが簡単でしょう。 use POSIX; $c = pack('c', $uint); if (isgraph($c)) {...}
関連するQ&A
- perlで,c言語で言うところのatoiはできる?
perlでキャラクタの数字を,スカラーの数字になるよう明記することってできますか? perlが勝手にキャラクタとスカラーの変更をしてしまうのを防ぎたいのですが・・・ c言語でのatoi関数のようなものはあるのでしょうか?
- ベストアンサー
- Perl
- Perlで書いたプログラムをC言語に変換するツールはありますか?
perlをEXEにするのは聞いたことがあるのですが Perlで書いたプログラムをC言語に変換するツールはありますか? WindowsのActivePerl5.8を使っています。 Linuxなら出来るのでしょうか?
- ベストアンサー
- Perl
- C言語について。
C言語プログラマとしては、スタートアップコードは・・・ ・自分が書いたプログラムを、直接動かすために必要なライブラリ ・それはコンパイル後、リンカによって追加されるライブラリこれは、 どういう意味でしょうか?分かりやすく教えていただけると幸いです。すみません。で、 以下のかぶくんまんさんの回答です。 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11247611941 で、 C言語におけるプログラミングとは「main関数を書くこと」に他ならない。なぜ「main関数を書く」ことがC言語におけるプログラミングに他ならないのかと言えば、それは偏に「C言語のコンパイラはmain関数を呼び出すプログラムを生成するから」です。それがmain関数を求めるので結果的にmain関数がリンクされ、そしてmain関数が求めるままに他の関数もリンクされていくわけです。 で、その「main関数を呼び出すプログラム」こそが、C言語における「スタートアップコード」。 という回答で、main関数以降は、プログラマが書くのですよね?プログラマが関数をリンクさせる様なプログラムを書くということでしょうか?教えていただけると幸いです。すみません。 という所が分かりません。教えていただけると幸いです。すみません。以下のURL https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12247932542
- 締切済み
- C・C++・C#
- 離散フーリエ変換をC言語でどの様に書けばいいですか?
C言語でDFT離散フーリエ変換を書くにはどの様に書けばよろしいですか? Googleで検索すれば書き方は出てくるのですが、使ってる関数がいまいちよく分かりません。 ・データの入力 ↓ ・フーリエ変換の計算 ↓ ・結果の出力というのをやればいいのは理解できるのですが、C言語でどの様に書けばいいか分からなくて…
- ベストアンサー
- C・C++・C#
- C言語について知りたい!!
C言語を勉強しようと思ったのですが、 C言語って数学ができないとヤッパリ上達しないのでしないのでしょうか??それとも、別に数学はできなくてもC言語の知識をつける事は可能なのでしょうか?? C言語を勉強する上で必要になってくる数学って一体何でしょうか?? 関数とかでしょうか?? 必要になってくる数学の知識について教えてください! よろしくお願いしますm(_ _)m
- ベストアンサー
- C・C++・C#
- C言語の自作関数がエラーになる
C言語の自作関数がエラーになる 現在C言語でWindowsのプログラミングを学習中ですが あるプロトタイプ宣言した自作の関数がエラーになってしまいます。 エラー内容は「未解決の外部シンボル・・・」といった内容です。 関数の引数をHWNDだけにした場合は問題ありませんでした。 環境はMicrosoft Visual C++ 2008 Express Editionです。 自作関数の引数に型の制限はあるのでしょうか? よろしくお願いします。 以下コード一部です LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int MySave(TCHAR *,HWND,int); ・ ・ ・ LRESULT CALLBACK WndProc(HWND hWnd,UINT msg,WPARAM wp,LPARAM lp) { THCAR buffer[1024]; int iCount; ・ ・ ・ MySave(buffer,hWnd,iCount); ・ ・ ・ } int MySave(buffer,hWnd,iCount); ・ ・ ・ }
- ベストアンサー
- C・C++・C#
- C言語より後に開発されたプログラミング言語は
C言語を基にして開発されたのでしょうか? C++,C#はもちろんそうですが、Java、PHP、JavaScriptなどもそうなのでしょうか?と言うのも、C言語の関数とこれらのプログラミング言語の関数がかなり似ているところ(共通しているものも)があるからです。また、Excelの関数とも似ているのですが、これらのプログラミング言語と何か関係があるのでしょうか。
- ベストアンサー
- その他(プログラミング・開発)
- c言語でスタック領域の使われ方について
c言語でスタック領域の使われ方について質問です。 メイン関数{ if(true){ } //if文終わり サブ関数1() サブ関数2() } このときのスタックのプッシュ、ポップの行われ方について教えてください。 自分の予想では以下のようになると考えていますが自信が全くありません・・・・ 1 まずメイン関数をプッシュ 2 if文をプッシュ ??? <???が特に自信ないです。 3 if文をポップ ??? 4 サブ関数1をプッシュ 5 サブ関数1をポップ ??? 6 サブ関数2をプッシュ 7 サブ関数2をポップ ??? 8 メイン関数をポップ もし知っていたら教えてください。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
補足
こんにちは。 []の2重についてのことが分からないんですが、正規表現の [abc] #aかbかcのorという意味 というorの意味が、/[[:graph:]]/の内か外の[]にあてはまりますか? あてはまるとすると、 if ($c =~ /[:graph:]/) {...} のようなソースもありえることになると思いますが、 if ($c =~ /[:graph:]/) {...} のようなソースはありえるんでしょうか? is...のようなものは、必ず/[[...]]/のように、最低でも[]が2つ必要なんでしょうか?