質問にやさしく親切に ..
809:807
08/07/18 03:00:03
ごめんなさい、私の説明が下手だったかもしれません。
第三者が許可なくソースに手を加えようとしたら、正常に実行されなくなるようにしたい、
ということなのですが。。。
例えば実行後にソース修正を感知したら強制終了するのでもいいですし、
ファイルそのものが削除される、あるいはソースを修正したはずが元に戻るなど、
とにかく第三者の修正意図が反映されなければOKです。
ただ、私が考えつく範囲だと、その「感知する部分」をソース修正者が
コメントアウトするだけで、簡単にソース修正ができてしまいます。
それでは×なので、やり方(暗号とか?)を知らないと決して修正(+実行)できない、
という風な仕組みを作る方法ってあるのでしょうか?という質問でした。
>>808はこの解決策でしょうか?
もしそうでしたら申し訳ありませんがもうちょっと詳しく教えて下さい…
810:807
08/07/18 03:05:30
しつこくすみません、↑はあくまでプログラム自体にその仕組みを持たせたいということです。
つまり、OSレベルでファイル所有権を設定して他人が修正できなくする、等だと×です。
811:デフォルトの名無しさん
08/07/18 09:12:09
>>807
ブレインファックのインタプリタがあると良いかも知れない。
812:デフォルトの名無しさん
08/07/18 10:16:39
>>810
近似解として、「難読化」はいかがでしょう。
あるいは、肝心な処理は全てサーバで行わせておいて、
人に配るプログラムはサーバに問い合わせをするだけという簡単なものにしておくとか。
813:デフォルトの名無しさん
08/07/18 10:22:09
>>807
どんな仕組を入れようと、正常に動くプログラムとまるごと交換されたらおしまいですよね?
814:デフォルトの名無しさん
08/07/18 10:23:33
>>806
スマートにどんな意味があるのかな?
TCP ソケット API を入手する経路だけの問題だと思う。
815:807
08/07/18 10:25:45
ありがとうございます。
>>811は知らなかったのですがググりましたところ>>812さんの回答と同じご趣旨ですよね?
使う言語が基本VBなので、結局の所プログラムを強制終了しようとする様な部分は
簡単にバレてしまいそうに思います。。。手の付けられない程の難読化って
できますかね?文字列を文字コードで指定して文字列検索に引っ掛からなくする位しか
思いつかないです。。。
816:デフォルトの名無しさん
08/07/18 10:27:04
>>792
計測器の制御だと作ったプログラムは何年と使われる気がするんだけど、その間の保守に
不安が残る。
なるべく会社の存続を考えたり、激しいバージョンアップを考えたりする必要のない
組合せでやった方がいいんじゃないかな?
例えばデータ吸い上げは g++ でやって、出力を CSV にしておくだけとか。
まあ、本家と比べればどっこいどっこいかな?あっちもバージョンアップが早いから
保守が大変だし。
817:807
08/07/18 10:28:21
>>813
確かにそうなんですが、丸ごと入れ替えにもデメリットがあるので
そこのところはあきらめです。丸ごと交換しない限り使えない、
という風にできたらなと。
818:デフォルトの名無しさん
08/07/18 19:43:20
int *p[20];
はint*型のデータを20個格納する配列。
↓こんな風に使う。
int *p[20],a,b,c;
p[0]=&a; p[1]=&b; p[2]=&c;
int (*p)[20];
はint型のデータを20個格納する配列のポインタ。
↓こんな風に使う。
int (*p)[20],a[5][20];
p=a;
819:デフォルトの名無しさん
08/07/18 22:12:11
宣言の*は型に付く優先度が高い。
int *p[20];
の"*"はintに付くので、int*のp[20]、つまりint*を20個格納する配列という意味になる。
ところが
int (*p)[20];
の場合は、()の優先度のほうが高いので"*"はpに付く。つまり"pはポインタです"という意味になる。
何のポインタ? --->int [20](intを20個格納する配列)のポインタです。という意味になる。
そう捕らえると理解しやすい。
820:デフォルトの名無しさん
08/07/18 22:55:25
>>819
ちがうよ。*p[20] は (*p)[20] か *(p[20]) のどちらか?って話だよ。
821:デフォルトの名無しさん
08/07/19 00:28:48
C言語について質問です。
1から10までの数を8つ相違するように入力して、その中で入力されなかった
2つの数字は何か。(配列を使う)
と言う問題です。
なんでも5行ぐらいで終わるらしいんですが、自分にはまったく分からない・・・
どうか教えてくださいお願いします
822:デフォルトの名無しさん
08/07/19 01:33:57
>>821
書いてみたけどとても5行では書ききれなかった。
多分5行というのは下のサンプルでのprint_missing_numbers()だけの行数だと
思うけど、このエラーチェックを全く行っていないいい加減なプログラムでも10行に
なってしまっている…
#include <stdio.h>
#include <string.h>
void print_missing_numbers(int input_numbers[8]) {
int i;
int number_map[1 + 10];
memset(number_map, 0, sizeof(number_map));
for (i = 0; i < 8; i++)
number_map[input_numbers[i]] = 1;
for (i = 1; i <= 10; i++)
if (number_map[i] == 0)
printf("%d\n", i);
}
int main(int argc, char *argv[]) {
int numbers[8] = {1, 2, 4, 5, 6, 8, 9, 10}; /* 3と7が抜けている */
print_missing_numbers(numbers);
return 0;
}
823:デフォルトの名無しさん
08/07/19 01:41:07
URLリンク(quote.yahoo.co.jp)
これは、phpですか perlですか?
目的は、チャートの下の欄がウザイので、表示しないようにしたい。
全くの無知なので、検索をどうしたらいいかわからず、無駄な時間を費やしてしまった。
824:デフォルトの名無しさん
08/07/19 02:42:48
>>821
こんなのは?
void print_missing_numbers(int n[8]){
int hex, bit, i;
for(hex=i=0; i<8; i++) hex |= 1 << (n[i]-1);
for(bit=1,i=0; i<10; i++,bit<<=1) if(!(hex & bit)) printf("%d\n", i+1);
}
825:デフォルトの名無しさん
08/07/19 13:08:27
>>823
そのページが何の言語で書かれてるか判明したとして、
どうやって書き換えるつもり? Yahooのサーバ乗っ取るのか?
826:デフォルトの名無しさん
08/07/19 14:35:54
>>825
テキストで。
・・・・・「&d=c&l=c3&a=v,r14&p=m65,m130,s&t=3m&l=off&z=c」の設定を変更すること。
目的は、d c l c3 a v r14 p等の設定を変えて、応答を希望するものにしたいです。
検索で調べるのに全く、たどり着かないので、途方に暮れています。
検索オプションでも関係ないし・・・
827:デフォルトの名無しさん
08/07/19 14:37:08
完全に板違いです。さようなら
828:デフォルトの名無しさん
08/07/19 17:23:00
ユーザー定義スタイルシートで消せるけど
板違いなので他で聞くかググってね
829:デフォルトの名無しさん
08/07/19 21:06:28
X1,Y1からX0,Y0に引いた直線とX2,Y2からX0,Y0に引いた直線が交わったときの角度
を求めたいのですが、C言語ではどのように計算したらいいでしょうか?
何か基本的な数学の公式とか標準ライブラリの関数とかがあるのかもしれませんが、
まったくの素人でどう検索していいのかも分かりません。教えていただけたら助かります。
830:デフォルトの名無しさん
08/07/19 21:26:50
>>829
内積
831:829
08/07/19 21:36:46
X0,Y0が0,0になるようにX1,Y1とX2,Y2を補正してから
atan2(X1, Y1) - atan2(X2, Y2)とすればいいのでしょうか?
832:デフォルトの名無しさん
08/07/19 22:24:34
XとYの内積=|X||Y|cosθだから
(X・Y/|X||Y|)のアークコサインを取れば良いんじゃね?
833:デフォルトの名無しさん
08/07/19 22:30:31
>>831
俺の数学の教科書によると、
ベクトルa(a1, a2), b(b1, b2)のなす角をθとするとき、
cosθ = ( a1 * b1 + a2 * b2 ) / ( sqrt( a1 * a1 + a2 * a2 ) * sqrt( b1 * b1 + b2 * b2 ) )
で、これが内積だってさ。
角度が欲しいなら acos( cosθ) とかすればいいんじゃね。
このへんの基本的なベクトルの扱いは高校の数学BかCあたりが役に立ちそう。
834:829
08/07/19 22:41:03
>>830,832,833
ありがとうございました
835:デフォルトの名無しさん
08/07/20 00:06:13
質問させて頂きます。
漢字1文字に必要なビット数
半角カナ1文字に必要なビット数はそれぞれ何ビットでしょうか?
どうかご教授お願いします
836:デフォルトの名無しさん
08/07/20 00:20:11
意地悪に真面目な回答。
文字コードによるんで一概にどうとは言えない。
Shift_JISなら漢字が16ビット、半角カナが8ビット。
EUC-JPなら全部16ビット。
UTF-8なら基本どっちも8×3で24ビット、一部の漢字は8×4で32ビット。
UTF-16なら基本16ビット、一部の漢字は16×2で32ビット。
UTF-32なら全部32ビット。
837:デフォルトの名無しさん
08/07/20 00:21:34
>>835
文字コードによって違うので、自分の環境にあった文字コードの規格を調べる必要があります。
shift_jisとか、utf-8とか、euc-jpとかiso-2022-jpとか。
838:821
08/07/20 00:52:24
回答してくださった方ありがとうございます。
参考にさせてもらいます。
839:デフォルトの名無しさん
08/07/20 02:04:19
数百万行のTSVやCSVファイルから特定の要素だけを抽出し集計する、
といったプログラムはどのような処理形態が一番速くなるのでしょうか?
VBにてコレクションに突っ込んでループさせて処理するプログラムを作成しましたが、
10MBほどのファイルで30時間以上掛かってしまいます
840:デフォルトの名無しさん
08/07/20 02:06:38
>>839
普通にスクリプト系言語を使っても数分も掛からんと思うが。
コレクションがどんなもんかは知らんが、なにをやったらそんなに遅くできるんだ?
841:デフォルトの名無しさん
08/07/20 02:23:23
>>840
ど素人なもんで、組み方が悪いのが原因としか思えないのです。
スレ違いとは思いますが、こんな感じに書きました
' ストリームリーダーで行読み込みループ中の処理
strBuffLine = split(sr.ReadLine(), vbTab)
strName = strBuffLine(1)
g_allarray.Add(strName) ' 全要素を格納
If g_colInput.Contains(strName) = False Then g_colInput.Add(strName, strName) ' 重複要素は読み込まない
' 集計
For i = 1 To g_colInput.Count
For j = 1 To g_allarray.Count - 1
If g_colInput.Item(i) = g_allcol.Item(j) Then count = count + 1
Next j
' 全要素から検索しカウント後処理
buff = g_colInput.Item(i)
PrintResultFile(count, buff) ' 出力ルーチンへ
On Error Resume Next
For k = 0 To 500
g_allarray.Remove(buff) ' 集計済みの要素を消す
Next k
count = 0
Next i
842:835
08/07/20 02:42:18
>>836
>>837
ありがとうございます!
文字コード調べてみますね!
843:デフォルトの名無しさん
08/07/20 14:20:37
Cでファジィのプログラムの作り方がわかりません
参考にできるサイトとかあったら教えてください
844:デフォルトの名無しさん
08/07/20 17:50:12
>>843
たしかURLリンク(www.)なんちゃらで最後がfuzzyなんとか.htmlとかいうサイトがあるとかないとかメンバーシップ関数0.5/0.5で
845:デフォルトの名無しさん
08/07/22 01:19:24
>>741
今世紀最大の正真正銘のキチガイ弓月城太郎にやねうらおは絡まれている。
弓月城太郎は正真正銘のキチガイ
【自作自演】弓月城太郎氏に関するまとめ【神秘体験】
URLリンク(d.hatena.ne.jp)
846:デフォルトの名無しさん
08/07/22 20:47:39
ここでいいのかな・・・
すごくあほな質問なんですが
Borlandというコンパイラをインストールしたのですがそれからどうすればいいのかが全くわかりません;0;
パソコン自体の設定をなにかしないといけないんですか?
どうやったら言語を打ち込むところまでいくかが全然わかりません 教えてください お願いします
ちなみにOSはVISTAです 問題ないですか?
847:デフォルトの名無しさん
08/07/22 21:14:35
よし、今からBorlandのことは忘れて
VisualC++2008をインストールしようか
848:デフォルトの名無しさん
08/07/22 21:17:21
>>847
Borlandはだめですか? 大学の先生から貸していただいたCDにはいっていたのがこれだったんです
そのVisualC++2008は良いですか?とってきます
849:デフォルトの名無しさん
08/07/22 21:21:57
いや駄目じゃないよ全然
ただ多分VC++の方があなたには簡単に出来ると思うから
bccでやりたいなら
「Borland C++ Compiler 5.5 使い方」
とかのキーワードでググるのが良いかと
850:デフォルトの名無しさん
08/07/22 21:29:05
>>849
そのキーワードでググったらいろいろでてきました これならなんとかなるかもしれません
すいません せっかく先生が貸してくれたのでこれでいこうかなと思います
本当にありがとうございました 頑張ってみます
もしだめだったらまたきます・・・
851:デフォルトの名無しさん
08/07/22 21:32:19
_|: : : :\, . : ´: : : : : : : : : : : : : `ヽ- ―¬ ||
: : : : : :/: \:./: : : /:/\: : : ヽ:\: : \:.└-- ァ j| / | ¬
: : : : /: : /:. ,:イ:、:// / \: : :ト、: X: ヽ\: : / || \ | ー
: : :./:.:.:./:.〃//\':/ \|/: :.}: : ヽ \>||. / ヽ__ぃ
. ‐ 7: : :/:.// |/ ̄ ̄ヾ /  ̄ヽハ: : :.',: | || /^し (_
|: : :.|:./ | ○ | { ○ |ヽ: :.|:.| || ナ ヽ ヽ__
| ¬|/ ヽ ノ ヽ ノ ヽN || t」ー (_
/ .ス  ̄ ̄  ̄ ̄ | || / /
{ || /  ̄ ̄ ̄ ̄ ̄ ト. | 〃 o o
入 し / |:i / ||
: : : ーi. , |:| ,ハ jj _____
7: : : : ヽ ' |:! /|┘ }}/'  ̄ ̄ ̄`\ 〃
..厶 -‐''::¨:::ヽ { リ /ヽ┘ /' }'
::::::::::::::::::::::::::::::{. `=ニ二二ニニ= '.::::::::::::::::\
::::::::::::::::::::/\:\ /:/\::::::::::::::::::\
852:デフォルトの名無しさん
08/07/22 22:06:53
>>851
かわいいよw
かわいいよ・・・・
853:デフォルトの名無しさん
08/07/23 04:10:24
>>851はツンデレってことでいいんですか?
854:デフォルトの名無しさん
08/07/23 05:18:23
はい
855:デフォルトの名無しさん
08/07/23 11:11:37
【IE6, HTML4.01】
<img>タグ内に
onMouseOver, onMouseOut,
onMouseDown, onMouseUp,
onKeyDown, onKeyUpを指定して
マウスでもキー操作でも、画像ボタンのクリック感を視覚的に出すべく作成中です。
<img>タグ内に tabIndex を追加指定したところ、onMouseDownイベントが発生しなくなりました。
(onKeyDownは正常に動作します)
ネットで検索するも該当の現象についての記述は見当たらず、
社内で相談したところ「現象は聞いたことがある」という回答だったのですが
どなたか良い対策をご存知ありませんか?
856:デフォルトの名無しさん
08/07/23 11:29:57
unDonutというブラウザを使い、javascriptからコマンドプロンプトを呼び出し、
BASファイルを起動するプログラムを組んでいるのですが、コマンドプロンプト起動時に
警告が出てしまいます。
セキュリティレベルの変更なども試しましたがどうしても解決できません。
この警告を表示せずに実行する方法があれば教えていただけないでしょうか?
857:デフォルトの名無しさん
08/07/23 11:47:51
そりゃ出るだろ・・・
そのページのサイト(ローカル含め)を信頼する設定にすりゃいい
858:デフォルトの名無しさん
08/07/23 20:56:33
C言語やってるんですが、エスケープシーケンスが高度なもの(?)になると表示されません。
PCはWindous XP、メーカーはNECでコンパイラはBorland C++を使ってます。
859:デフォルトの名無しさん
08/07/23 21:53:35
ブラウザでハイパーリンクのようにマウスの位置にある文字を取得する方法を
教えてください(テキストはHTML形式ではありません)
とりあえず思いつくのは文字サイズから計算で位置を割り出す方法ですが
それだと半角プロポーショナルに対して使えないので何か別の方法があると
思うのですがだれか知りませんか?
860:デフォルトの名無しさん
08/07/23 21:55:05
Windows のDOS窓はDOS/V用のエスケープシーケンスしか使用できない
861:デフォルトの名無しさん
08/07/23 22:00:46
>>859
全ての文字をボタン、あるいはマウスオ-バ-イベントを受信できるようなオブジェクトにすればいいんじゃね。
862:デフォルトの名無しさん
08/07/23 22:11:00
>>860
では普通の環境でそれ以外のやつは使えないってことなんでしょうか?
863:859
08/07/23 22:15:47
>>861
すべての文字をオブジェクトにするためには表示するときの文字の幅を
知っている必要がないですか?
勉強不足で申し訳ないのですが、もしかして文字の表示幅を返す
関数(メソッド)があったりします?
864:デフォルトの名無しさん
08/07/23 22:19:31
>>863
環境は何よ
865:デフォルトの名無しさん
08/07/23 22:22:17
>>863
俺はJavaを使ってButtonとかLabelオブジェクトを用いることを言ってたけど、
よくよく読み返してみると、「ブラウザで」というのは、JavascriptとかFlashのこと?
だったらすまん。
わかんね。
866:859
08/07/23 22:23:14
まだ作り始めていないので何でもいいのですが特定の言語でしか
できないならそれを使います。
一応C++かjavaならわかります。
867:859
08/07/23 22:27:37
>>865
わかりにくくてすみません。
ブラウザではなくてテキストを読みこむアプリケーションを作るつもりです。
868:862
08/07/23 22:34:06
>>864
それは自分に対してのレスでしょうか?
一応コマンドプロンプトでやってるんですが…。
869:デフォルトの名無しさん
08/07/23 22:37:55
場合によってはHTMLで、一文字ずつAタグで囲んで、Javascriptが起動するようにした方が楽だったりして。
870:859
08/07/23 23:07:37
>>869
なるほど、テキストをHTMLに変換するあたりの実行速度が気になりますが
要望どおりのものができそうですね
871:デフォルトの名無しさん
08/07/23 23:13:48
ふーん
なるほどなるほど
872:デフォルトの名無しさん
08/07/27 13:20:31
>>839
ADOでSQL発行がはやいんでない?
873:デフォルトの名無しさん
08/07/29 01:33:06
PHPで2ちゃんねるの過去ログのクローラーを作りたいです。
どうやったらクローラーで過去ログを検索できますかね?
874:デフォルトの名無しさん
08/07/29 03:20:56
押井守に頼め
875:デフォルトの名無しさん
08/07/29 03:34:34
音楽は管野じゃないと駄目だぞ
876:デフォルトの名無しさん
08/07/29 22:54:18
過去ログって金払わないと読めないんでしょ?
877:デフォルトの名無しさん
08/07/29 23:07:07
つ[web archive]
878:デフォルトの名無しさん
08/07/30 12:48:00
期間限定だと思うけど、お試し●で無料で読める
879:デフォルトの名無しさん
08/08/02 12:39:18
釣りでもなくお聞きしたいです。
今月いっぱい休職期間なので、
プログラム(DB、サーバも)をじっくり
向き合いたいと考えいます。
題材はmixiまんまをつくりたいのですが、
1.プログラム、DB、他何を選択すればよいのでしょうか。
2.まねごとでmixiの機能だけでなく、ああいったデザインも含めて
作りたいですが、可能ですか。
3.業務、勉強経験一切なしです。2種持ち程度で。
ご教示ください。
880:デフォルトの名無しさん
08/08/02 13:30:17
煽りでもなくお応えします。
一ヶ月じゃ無理。
881:デフォルトの名無しさん
08/08/02 14:12:34
>>879
OS: Fedora (なぜなら俺がLinux厨だから)
WEBサーバ: Apache (なぜなら俺がApache厨だから)
言語/フレームワーク: Ruby on Rails (通称RoR) (なぜなら(ry
データベース: MySQL (なぜ(ry
前提をいろいろすっとばしてるけど。やるとするならこれくらいが妥当じゃね。
> 3.業務、勉強経験一切なしです。2種持ち程度で。
これが本当なら、>>880が言うように、一ヶ月じゃ無理。
882:デフォルトの名無しさん
08/08/02 14:15:32
【涼宮ハルヒの驚愕】2008年12月に発売決定! 表紙絵は長門
スレリンク(cosp板)l50
このスレに人は来ますか?
883:882
08/08/10 10:55:46
自己解決しました^^
884:デフォルトの名無しさん
08/08/11 13:15:48
プログラミング言語、なにをおぼえれば雇ってもらえる確率がアップする?
885:デフォルトの名無しさん
08/08/11 13:37:37
就職口の多さでは C/C++ Java .NET の順ではなかろうか。
言語をおぼえるのではなく精通するならば、どんな言語でも
必ず就職口は見つかりますよ。
886:デフォルトの名無しさん
08/08/12 15:44:53
VBAに詳しい方お願いします。
A列 B列 C列 D列 E列 F列 G列 H列 I列 J列…
1 1 010 a AB
2 1 010 a 春 夏 秋 冬
3 1 010 a 上 下
4 2 020 b BC
5 2 020 b 花
6 2 020 b 陸 空
6 2 020 b 水
:
:
↑を↓に変える記述教えてください。。
A列 B列 C列 D列 E列 F列 G列 H列 I列 J列…
1 1 010 a AB
2 1 010 a 春
3 1 010 a 夏
4 1 010 a 秋
5 1 010 a 冬
6 1 010 a 上
7 1 010 a 下
8 2 020 b BC
9 2 020 b 花
10 2 020 b 陸
11 2 020 b 空
6 2 020 b 水
887:デフォルトの名無しさん
08/08/12 21:00:27
>>886
その変換の基準を明確にしてください。
888:デフォルトの名無しさん
08/08/12 21:04:56
>>886
入力が前者に正確に一致していることを確かめたら、
後者を print すればいいんじゃないかな?
889:デフォルトの名無しさん
08/08/12 21:56:13
法則がぱっと見分からん
890:デフォルトの名無しさん
08/08/12 21:58:03
VBAスレでレスついているからこちらは放置で。
891:デフォルトの名無しさん
08/08/12 22:26:33
マルチかよ
悪い事は言わないから今後マルチならマルチだと書いてくれ。
892:デフォルトの名無しさん
08/08/13 16:02:07
お、お、お・・・おねえさん!ここがマンコですか!?
893:デフォルトの名無しさん
08/08/13 16:34:41
いいえ違います
894:デフォルトの名無しさん
08/08/13 20:52:02
ベーシック言語のおすすめの書籍やサイトを教えてください。
895:デフォルトの名無しさん
08/08/14 13:46:18
■■みんなでサイトつくろうぜwwwwwwwwwwwwwwww■■
「お前ら一緒にサイト作ろうぜwwwwwwwwww」
「2ちゃん越えるサイト作ろうぜwwww」
「仕事無いんだ・・・・・・」
「やろうぜ!」
「みんなでサイトつくろうぜwwwwwwwwww」
URLリンク(gacco.o0o0.jp)
スレリンク(news4vip板)
URLリンク(ex14.vip2ch.com)
興味沸いたらきてください!
======================!! 人材募集中 !!======================
■プログラムを組んでくれる人
*サーバー側
言語はRubyかPerlの予定ですが、Perlが有力候補。
・チャット
定期的にクライアントから着信があり、それに対して更新されたチャットのメッセージを返信する程度の能力。じゃなくて機能。
通信するときのフォーマットは未定。
・ログイン・アカウント管理
ログイン認証、各アカウントの点数などの管理。データベースは未定。
・お絵描き
未定。とりあえず鯖に負担がかからない程度にたまに画像を送信してあげるって感じで
*クライアント側
はっきり言って俺もわからね。Ajaxだとかflashだとかjavaだとか。
■機能提案(正しくは人材ではなく、意見?)
「こんな機能があったら良い!」「こうするともっと楽しくなる!」などの意見募集中。
挨拶とか気にせずスレにどんどん書き込んでくれればおk
■デザイン
サイトのデザインを考えてくれる人、作ってくれる人募集中。
できればphotoshop illustrator使える人(プロジェクト共有しやすいので)
896:デフォルトの名無しさん
08/08/14 13:56:02
アリモノの組み合わせで7割方できちゃいそうな内容だな。
897:デフォルトの名無しさん
08/08/14 17:45:08
JAVA言語、基本おぼえた
次、なにがいいんだよ
898:デフォルトの名無しさん
08/08/14 17:53:27
JAVA言語の応用で
899:デフォルトの名無しさん
08/08/20 22:59:21
/* ギャップバッファ
URLリンク(haiku.mine.nu)
これの、GapBuffer_GetRealPosition()関数の戻り値が何を意味しているのかわかりません。
ギャップバッファー上のバイト位置から、
データとしての先頭からのバイト位置を計算。
return i - (this->end - this->start);
あたりの間違いだろうな。
という解答を貰えたのですが、
ギャップバッファー上のバイト位置から、
データとしての先頭からのバイト位置を計算。
とはつまりどういう事でしょうか?
900:デフォルトの名無しさん
08/08/21 00:05:20
ギャップバッファは真ん中にギャップがあるから、物理的な位置と論理的な位置が一致しないだろ
0123------456
こんな感じで位置が飛ぶ
901:デフォルトの名無しさん
08/08/21 00:36:05
0123456
abc de
Gap開始位置 - 3
Gap終了位置 - 5
5の位置に文字Aを挿入
5+5-(5-(5-3))=7
GetRealPosition()は7を返す
7は何を指しているのですか?
902:デフォルトの名無しさん
08/08/21 01:08:08
バッファに "abcde" というデータが入ってれば、5の位置というのは、eの右隣だろう
実際のバッファは
buffer[0] = 'a'
buffer[1] = 'b'
buffer[2] = 'c'
buffer[3] = ギャップ
buffer[4] = ギャップ
buffer[5] = 'd'
buffer[6] = 'e'
だから、eの右隣というのは実際には7の位置になる
903:デフォルトの名無しさん
08/08/21 01:16:10
>>902
戻り値=物理的な文字挿入位置ってことですか?
904:デフォルトの名無しさん
08/08/21 01:22:05
そーゆーこと
905:デフォルトの名無しさん
08/08/21 01:41:09
ありがとうございます。
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4791日前に更新/257 KB
担当:undef