文字列の途中から複写できるか
- 文字列を途中から複写する方法について教えてください。
- strncpy()関数では最初からnバイトまでの複写ができますが、途中から複写することはできるのでしょうか?
- 質問者はコンパイル時に関数 'CODCfc_Sysdate' が定義されていないというエラーが発生しました。
- ベストアンサー
文字列を途中から複写(再質問)
さきほど、↓のような質問をして、回答をいただいたので、 動作確認もせず、回答を締め切ってしまったのですが、 実際につくってみたら、コンパイルで「関数 'CODCfc_Sysdate' は定義されていません。」と言われてしまいました。 ネットでも探してみたのですが、 Cではこの関数は使えないのでしょうか? 何度もすいませんが、どなたか(...というか、先ほど回答くださった方 )教えてください。 --------------------------------------------------------------------- strncpy()を使うと最初からnバイトまで複写というのはできるようですが、 文字列を途中から(例えば10文字中の3番目から5番目までとか)複写することはできないのでしょうか? 教えてください。
- sprit
- お礼率66% (45/68)
- C・C++・C#
- 回答数2
- ありがとう数1
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Cの標準ライブラリにはsubstrはなかったと思います。処理系依存では定義されているでしょうけど。 それで次のようなのはいかがでしょう。 文字列srcのiバイト目からnバイトを配列destにコピーするなら strncpy(dest, src+i, n); 実際に使うときは適当にマクロにした方が分かりやすいかな。
その他の回答 (1)
- 50100
- ベストアンサー率28% (99/351)
必要なヘッダファイルがインクルードされていないのでは?
補足
そう思ったのですが、C言語でstrsubを扱っているサイトがみつからず、 (手持ちのCのリファレンスブックにものってなかったので)何をインクルードしたらいいのかわかりません。ご存知でしたら教えてください。
関連するQ&A
- 文字列を途中から複写
strncpy()を使うと最初からnバイトまで複写というのはできるようですが、 文字列を途中から(例えば10文字中の3番目から5番目までとか)複写することはできないのでしょうか? 教えてください。
- ベストアンサー
- C・C++・C#
- 【VBA】 文字列の中から指定の文字列を取り出す
VBAで文字列から指定の文字のn番目からn+1番目までの文字列を取り出すことは可能でしょうか? A1セルに下記の文字列があった場合、「1番目の半角スペースから2番目の半角スペースまでの文字列」を取り出したいのです。 5 53 00 8R この場合、53を取り出したいというわけです。 また、可能でしたら「最後の半角スペースから文字列の最後まで」を取り出す方法も教えていただけるとありがたいです。 この場合は8Rとなります。 InStr関数を使えばできるかもと思ったのですが、できそうなものが思い浮かびません。 どなたか教えていただけませんでしょうか。 よろしくお願いいたしますm(_ _)m
- ベストアンサー
- その他MS Office製品
- VB2005の文字列関連の関数について
VB2005で ある文字列中の特定文字の位置を返す関数はありますか? たとえば "1234567890" という文字列中で"56"という文字列は "5"番めにあるというような。 N88BasicのPOS$のようなイメージです。
- ベストアンサー
- Visual Basic
- EXCEL関数 文字列の一部の数字文字を数値化して計算につかいたい
EXCEL関数について質問です。 あるセルの文字列に記載されている一部の数字文字を 数値化して計算につかいたいと思っています。 <例> あるセルの文字列(A1)⇒あいうえお12345番目の方 出力したい数字文字⇒12345 知る限りの関数を使って以下の関数式を作ってみました。 (1) MID関数を使う 最初の文字「あいうえお」は10バイトなので開始は「11」としました。 (2)後に登録されている「番目の方」を除きたいので SEARCHB関数を使って、「番目」の開始バイトを見つけ そこから最初の文字バイト「11」を引き、抽出するバイトを求める。 (3)抽出した文字列を数値に変換するVALUE関数を使う。 次の関数式を作ってみました。 =VALUE(MIDB(A1,11,SEARCHB("番目",A1,1)-11)) でも結果は「」となります。 何がいけないのかわかりません。エラーの原因がわかれば教えて下さい。 ほかによい方法があれば教えてください。 よろしくお願いします。
- 締切済み
- その他(ビジネス・キャリア)
- 空白文字列の生成
今、javascriptの勉強をしているのですがインターネットで調べてみても、分からないところがあるので教えてください。 問題のプログラム仕様は 空白文字列(スペース)を生成する関数を作る。 関数を利用して、イメージファイルの先頭にスペースを表示していく。 コードの入力手順は 1、空白文字列を作成するspc(n)関数を作る for(i=1; i<n; i++) s=s+" "; return s; 2、イメージファイルを表示する。 3、for文を使用して「i」が1,3,5,7,9になるように繰り返しを行う。 4、関数spc(i)でi個分の空白文字列と生成し、「スペースi」とイメージファイルの間に表示させる。 という問題なのですが2番と3番はできるのですが1番と4番が分からないので教えてください。お願いします
- ベストアンサー
- JavaScript
- excel 文字列抽出に関する質問
エクセル文字列抽出について質問です。 例えば、 "西郷 隆盛" この文字列から、" "の前後に分けて "西郷" と "隆盛" をユーザ定義関数を用いて、それぞれ別セルに抽出する場合、どのようにモジュールに入力すれば良いのでしょうか? ご教授願います
- ベストアンサー
- オフィス系ソフト
- Excelの文字列と文字列の連結
A1のセルにはj50 C1のセルには01(ユーザ定義で00の書式) この二つの数値をCONCATENATE()関数を用いて文字列を 連結するとj501となってしまいます。 C1のセルを文字列の書式にするとうまくj5001と表示されますがそれ以外に方法はないでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルの文字列で似たものを抽出する
いくつかあるエクセルの文字列のうち, 一番にてる文字列を抽出する方法を教えてください. たとえば,画像のように入力してある30通りの文字列のうち, ★の文字列に一番似ている文字列は1~30番の文字列のうちどれか, を知る方法について,具体的に教えていただけると嬉しいです. 関数は,不得意なのを踏まえて,教えていただけるとなお嬉しいです. どうぞよろしくお願いします.
- ベストアンサー
- オフィス系ソフト
- 文字列検索(例えばindex関数)をバイト単位で行いたい
やりたいことは日本語文字列の処理で、特定の文字を切り抜きたいのですがうまくいきません。 なぜなら、文字列を切り抜くsubstr関数がバイト単位であるのに対し、文字列を検索するindexがバイト単位でおこなわれていないからです。 例: 文字列"12万3456円"から、円だけを取り除きたいとします。 $str = "12万3456円"; $index = index($str,"円"); $newStr = substr($str, 0, $index); indexは7を返すが、substrで0から7番目を切り取っても、バイト単位なのでうまくいきません。 文字列の検索をバイト単位で行う方法を教えてください。 おねがいします。
- ベストアンサー
- Perl
- 文字列
Visual Basic6.0 よろしくお願いします。 (ab"N1"cde"N11"fjh"N111"ij"N1111"k) のような文字列から (ab"N0001"cde"N0011"fjh"N0111"ij"N1111"k) のように N の後の数字を4桁数字にしたい 場合はどうすれば良いでしょうか? 便利な関数や方法がありましたら教えてください。 お願いいたします。
- 締切済み
- Visual Basic
お礼
教えていただいたやり方で、今度こそうまくいきました。 どうもありがとうございました。おかげで家に帰れます(笑)