The UNIX and Linux Forums  
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。

Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > 高レベルのプログラミング
Googleのunix.com



高レベルのプログラミング は、 C 、 C + +についての質問の投稿は、 Java 、 SQL 、および他のプログラミング言語です。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
外部ファイルから変数を代入 oneillc9 シェルプログラミングとスクリプティング 1 2008年7月31日 03:12午後
代替 neyo シェルプログラミングとスクリプティング 1 2008年3月8日 10:08午前
の変数の値を代入するsed jyotipg シェルプログラミングとスクリプティング 1 2006年9月26日 09:54午前
現在の時刻を変数を代入 jhansrod シェルプログラミングとスクリプティング 4 2005年11月20日 08:20午後
シェル変数の代入 suds19 シェルプログラミングとスクリプティング 1 2002年10月16日 08:55午前

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2008年8月21日
cleopard cleopard is offline
登録ユーザー
  
 

参加日: 2006年12月
投稿: 29
別の1つの文字列置き換え

私はここで、大きな文字列内に、私は別の文字列を代用する必要があるために小さくしている1つのセクションは、 LinuxのCプログラムを書いているが、これらはおそらく同じ大きされません。

例えば、私は、文字列がある:

" Nowisthetimeforallgoodmen "

と私代替'へのすべての主要な文字列のほとんどの' 'のサイズが増加する場合:

" Nowisthetimeformostgoodmen "


または、主な文字列のサイズを大きくする置換:

" Nowisthetimefornogoodmen "


このように私は自分の最善のアプローチは、さらに面倒なことのいくつかの方法についての意見を加えてくるかもしれないと思った。私は、 Cの文字列関数がある場合には役立つかもしれないのを楽しみにしておりましたが、私は本当にすべてが表示されません。

任意の助けいただければ幸いです。
  #2固定リンク)  
Old 2008年8月21日
シャムロック shamrock is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2007年10月
場所:アメリカ合衆国
投稿数: 750
には、 strstr ( ) 、 strspn ( )関数を見てください。
  #3固定リンク)  
Old 2008年8月21日
恐るべき redoubtable is offline
登録ユーザー
  
 

参加日: 2008年8月
場所:ポルトガル
投稿数: 242
そこでは、この操作を行うことができます実際には多くの方法があります。

その 最初の問題 あなたの文字列(文字配列)の大きさです。いずれかの固定長の配列を使用することができますが、たとえば( 512バイト)を突破されませんか、動的な長さのメモリ( mallocに仕事ができる期待バウンド( ) / calloc ( ) ) 。私は、低速の場合は最後の手段malloc ( )としてのみ使用するようにアドバイスすること/困難を維持するために/ヒューマンエラーを起こしやすい。

その 2つ目の問題 の置換を行うのは、適切な方法を選択されています。のような場合は直接には無理だと同じ大きさの文字を置換している
コード:
char * p;
if ((p = strstr (array, "isthetime")) != NULL)
    strncpy (p, "new chars", strlen ("new chars"));
問題が発生していないはずです。場合は、異なる長さの文字を置換している一方で" AAAAを単4 " "の言う"あなたの心には、代替の配列の1つの要素が上書きされますが必要です。場合は、その要素は、一時的な配列にして、配列をコピーする必要がありますを続行しますstrncpy ( )は、元の配列に戻るの後に行われる交換してください。

あなたがしている 3番目 問題は、終端バイト'で多くの注意をしている\配列0 ' 。もしそれを上書きかもしれないとなり、予期しない状況につながる可能性があるそれに代わる十分な注意を忘れていない。

シモンズ: regcompも使用することができます( )と( )のパターンマッチングregexec /置き換える。
Closed Thread

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 02:02午後


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0