Sheet2 にコマンド ボタンを挿入し、次のようにプログラムします:
プライベートサブコマンドボタン1_Click()
i1 を同じ長さ、i2 を長さだけ暗くする
a$、b$
を暗くしますi2 = 2
Do While Range("C" & i2) """
a$ = ""
b$ = ""
i1 = 1
Do While Worksheets("Sheet1").Range("C" & i1) """
If Worksheets("sheet1").Range("C" & i1) = Range("C" & i2) then
a$ = a$ & ワークシート("sheet1").Range("A" & i1) & ";"
b$ = b$ & ワークシート("sheet1").Range("B" & i1) & ";"
終了の場合
i1 = i1 1
###ループ###If a$
"" then a$ = Left(a$, Len(a$) - 1)If b$
"" then b$ = Left(b$, Len(b$) - 1)範囲("A"& i2) = a$
範囲("B"& i2) = b$
i2 = i2 1
###ループ###エンドサブ
Linux で特定の文字列の前後の数行のテキストを取得する方法
このコマンド行は、Merge を含むコミット ブロック (このようなテキスト ブロックが複数ある場合) を削除するのに役立ちます。
sed -n '/commit/{:a;h;n;/Merge/b;:c;H;n;$bd;/commit/!bc;:d;x;p;x;ba} ' ログ > log.txt
私のコマンドは少し複雑かもしれません。参考までに少し説明します:
ここで: a :b :c :d はコマンドジャンプラベル label
1. /コミット/{:a;h;n;コミットが行で見つかった場合は、この行をホールド スペースにコピーして、次の行を読み取ります。
2./マージ/b;
読み取ったばかりの新しい行に Merge が含まれている場合は、この行の処理を終了し、次の行を読み、コミットの検索を続けます
読み取ったばかりの新しい行に Merge が含まれていない場合は、この行で後続のコマンドを実行し続けます。
3. :c;H;n;$bd;/commit/!bc;:d;x;p;x;ba}
この行をホールド スペースに追加し、次の行を読み取ります。最後の行に到達せず、コミットが見つからない場合は、コマンド bc を実行して c ラベルにジャンプします。ファイルの終わりまでこのプロセスをループします。 read または commit を含む行を読み取ります。次に、x はホールド スペースの内容をパターン スペースの内容と交換し、p はパターン スペースの内容 (つまり、マージを含まないブロック) を出力します。x はそれを再度交換し、パターンスペースは前の内容 (ファイルの終わりまたはコミット行を含む) になります。 ba、ラベル a にジャンプし、この行を引き続きチェックし、ステップ 1、2、および 3 を繰り返します。
上記のコマンドを次のように変更すると:
sed -n '/commit/{:a;h;n;/Merge/!b;:c;H;n;$bd;/commit/!bc;:d;x;p;x;ba }' ログ > log.txt
すると、出力結果はMergeを含むコミットブロックのみとなります
MFC で TXT ファイルのデータと行数と列数を読み取ります
1桁のデータと4桁のデータがあるため、txt内に特別な改行がないと行数と列数が決まりません。復帰がある場合は、単純に
を使用します。 ####含む ######char *strtok( char *str1, const char *str2 );
まず getline() を使用して行ごとに str を読み取り、行数を累積してから、
char *結果 = NULL;
int x = 0;
結果 = strtok( str, " ");
while( 結果 != NULL ) {
strcpy(string[x] , result);
結果 = strtok( NULL, " " );
}
このようにして、すべてのデータを文字列配列を使用して保存できます。 x は合計数を記録し、x を行数で割ったものが列数となります。
今日は暇ですので、プログラム全体の作成をお手伝いします:
####含む###### ####含む###### ####含む######
名前空間 std を使用します;void main(){
char ch[100] = "\0";
文字 b[100][100];
int x=0,y=0;
fin.getline(ch,100);
### バツ;###
char *結果 = NULL; 結果 = strtok(ch,","); while( 結果 != NULL ) { strcpy(b[y ],result); cout
結果 = strtok( NULL, "," ); } memset(ch,0,100); fin.getline(ch,100); }
fin.close(); } //これは以前にも実行されていますが、問題ありません。b[100][100] はすべての要素、x は行数、y/x は列数です。
以上がExcel は行が要件を満たしていると判断しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。