C言語なら俺に聞け 148

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウカー Sacf-slpW)
垢版 |
2018/09/19(水) 17:56:50.83ID:XSTNMnDwa
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/

※前スレ
C言語なら俺に聞け 147
http://mevius.5ch.net/test/read.cgi/tech/1534430162/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2018/10/01(月) 20:18:05.62ID:xRBX1/Y3M
もちろんwindowsの話なんだけどな
2018/10/01(月) 20:50:02.06ID:73T+9RSN0
>>487 狙うとすれば ReadFile あたりだろうけど、あまりに根っこ過ぎて
ちゃんと狙い撃ちしたい箇所だけに限定できるのか正直わからんところ
2018/10/01(月) 21:43:55.95ID:n3AkgheKM
>>492
狙うならCreateFileだと考えてた。
予めメモリマツプトファイルに復号化しておいてそのハンドル返せば、後はReadFileはHookしなくても煮るなり焼くなり好きにしてもらったら良いと。
2018/10/01(月) 21:58:38.38ID:2kmJAioya
dropboxとか具体的にどういう技術なん?
2018/10/01(月) 22:54:48.81ID:2yHgzixG0
APIHookかVFSを自分で実装するかになるんじゃね
前者の方が簡単そうだな
496デフォルトの名無しさん (ワッチョイ 5780-q1nr)
垢版 |
2018/10/01(月) 23:58:25.83ID:zfKNS/F/0
CreateFileMappingにわたすCreateFileのファイルハンドルは
すでにファイルシステムと関連付けられたファイルハンドルになる

メモリならINVALID_HANDLE_VALUEを渡す

ドキュメントにしっかり書いてあるのに
相変わらず低学歴知恵遅れは
口からデマカセの頭悪いテキトーなことばっかりいってるわ。。。
497デフォルトの名無しさん (ワッチョイ 5780-q1nr)
垢版 |
2018/10/02(火) 00:01:04.71ID:R8M7QKDK0
そもそも質問してるヤツはファイルシステムに復号化されたファイルができるのがダメといってるのに
相変わらずだわ。。。
2018/10/02(火) 00:19:59.97ID:9fPP7dMwM
ならばどうする半角よ
貴様の格の違いを見せてやれ
2018/10/02(火) 00:24:37.79ID:69sVZg4Ka
この流れで初書き込みだけどソースが公開されていないで思いどうりに読み込めないのであれば自分で実装したほうがいいんじゃね
バイナリモードで読み込めばいいんじゃないの
500デフォルトの名無しさん (ワッチョイ ffe9-WJev)
垢版 |
2018/10/02(火) 00:31:01.73ID:Cp0nvcbE0
また自演か
2018/10/02(火) 00:35:23.62ID:nity8XPfa
499だけどオレが自演って事になってるのか?
2018/10/02(火) 00:40:31.83ID:6wQ+/Q1Ma
dropboxは非同期にrsyncみたいなことしてる感じだな。
ここで求められてるのは同期だね
503デフォルトの名無しさん (ワッチョイ 5780-q1nr)
垢版 |
2018/10/02(火) 00:55:56.80ID:R8M7QKDK0
検討がつかない

そもそも使ってる関数のソースが未公開の前提らしいからな
中でなにやってるかなんかまったく分からんからこういう質問してるんだろうしな
きっとReadFileを呼んでるのだろうという程度のことしか分からない
それは質問してるヤツもその程度は分かってるハズ

そして、そのファイルを読み込む関数のインターフェースもよく分からない
ファイルハンドルを渡すのかファイルパス渡すとかも分からない

情報が一切ないから検討しようがないといいたいが
両方とも検討した結果、簡単ないい方法が思いつかない
別プロセスにしてCONIN$使うとかインチキくさい方法ぐらいしかパッと思いつかなかった

でな、この要件に至るまでの根本的な部分について知りたい
その暗号化したファイルを今までどうやって出力してたかという部分になる
読み込みはその操作と逆の操作をすればいいハズだからな

もし暗号化して出力するときに、平文のファイルを一時的にテンポラリに出力してから暗号化してるなら
入力するときに平文のファイルを一時的にテンポラリに出力するのは許容範囲になると言い張れれば
コレで解決する

コレでイケルハズ
2018/10/02(火) 01:03:57.23ID:6wQ+/Q1Ma
そうじゃなくて、生データを隠したいんじゃないか?
2018/10/02(火) 02:49:53.61ID:qS1Sk5MG0
みなさん色々と案をありがとうございます。
あれから自分で調べたり考えたりしてたんですが
どうにかファイルの構造を知る事が出来そうで
中身を自分で書き換える(復号化ロジック込みの読み込み関数を書く)事にしました。
非常にお騒がせしてしまいまして申し訳ございませんでした!
2018/10/02(火) 04:36:17.92ID:yoF3UpeG0
Cのテスト関係のツールでおすすめとかありますか?
業務ではなく個人の趣味としてのプログラミングなので,できれば無償・オープンソースなのがいいです。
https://en.wikipedia.org/wiki/List_of_unit_testing_frameworks#C
ここを見ると,やはりCに関しても単体テストが最適なようですが…
507デフォルトの名無しさん (ワッチョイ ffe9-WJev)
垢版 |
2018/10/02(火) 04:42:42.21ID:Cp0nvcbE0
本当に自演が大好きなんだな
2018/10/02(火) 06:50:29.85ID:yoF3UpeG0
? え,もしかして俺に対して?
そうだとしたら まったくの言い掛かりなんだけど……。
純粋に,単体テストのおすすめを訊きたいだけ。
2018/10/02(火) 11:07:45.33ID:Yfg2/nZYa
>>508
世の中のすべてが自演に見えちゃう病気の人かも知れないから、スルーしておけばいいんじゃない?
2018/10/02(火) 11:08:35.53ID:EEmEj/et0
まーた自演か
511デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/10/02(火) 12:14:34.37ID:RjhRAQY1a
まーた自演か
2018/10/02(火) 13:22:40.96ID:kk/2dA0Y0
「自演じゃないもん」なんて弁明しても証明できないところで相手すんなよ
無駄なことをする姿がバカっぽいぞ
513デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/10/02(火) 13:39:01.10ID:RjhRAQY1a
自演じゃないもん
2018/10/02(火) 19:19:05.31ID:Fj/XybmQM
ウィザードブックで勉強したって方いますか?
Cのレベル上げにも役立つかしら・・・
515デフォルトの名無しさん (ワッチョイ 5780-q1nr)
垢版 |
2018/10/02(火) 20:40:47.26ID:R8M7QKDK0
ココまでオレのジエン
516デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/10/02(火) 20:51:11.45ID:hjXu6C7/a
>>514
ウィザードブックってなに?
2018/10/02(火) 20:53:08.03ID:pF626ax10
魔法使いがevalとapplyの球もってる奴じゃね
2018/10/02(火) 22:09:38.52ID:Fj/XybmQM
愛称違ったっけ?
『計算機プログラムの構造と解釈』です

>>517
です
λのやつ
2018/10/02(火) 22:37:55.33ID:WWljJiuT0
>>518
一般の人間が翻訳に参入しているようですね
2018/10/03(水) 00:45:37.81ID:+GJzyh+A0
>>518
愛称はSICPな。
http://sicpvn.sdf.org/smug.jpg

つか、全文訳されて公開されてるのな。
https://github.com/minghai/sicp-pdf/

詳細は以下。
https://qiita.com/kaz-yos/items/d1ecd4bfe9989c290e99
https://cpplover.blogspot.com/2016/05/mitsicp.html

なお、俺は読んだこと無い。
2018/10/03(水) 04:12:13.38ID:zPlOwhsg0
またトリップ付けないで書き込みしたの?
荒らしはもうやめておいた方が良いと思う
2018/10/03(水) 06:56:42.02ID:R1dsfyjz0
>>521
>またトリップ付けないで書き込みしたの?
>荒らしはもうやめておいた方が良いと思う

トリップつけないで書き込みするとどうして荒らしになるのですか?
というか、ほとんどの人がトリップをつけていないので、5ch は荒らしだらけ、ということですか?
2018/10/03(水) 07:02:45.12ID:IEc6BJqm0
アホは相手すんな
2018/10/05(金) 10:05:15.64ID:DxqDA2/Ip
https://i.imgur.com/BsiX5iK.jpg

添削お願いします。
2018/10/05(金) 10:17:32.97ID:6zSKEd8l0
>>524
minute と second は while の中のスコープで宣言するといい。
あと second を printf する時、お前のやりたいことは多分 %02d でできる。
0詰め2桁表示ね。
2018/10/05(金) 10:21:58.92ID:3s3m6VbBM
sleepは1秒待ってくれるとして、
前後の処理がどうしても正確に0秒でできるわけではないので誤差が溜まっていく。
定期的にシステムの時刻を見て秒の変わり目を検出するほうが正確。
2018/10/05(金) 10:26:30.21ID:6zSKEd8l0
>>524
これはこうすべきってことでないけど、画面を消す clear、これが何をやってるか調べると面白いかもよ。
とりあえず
clear > log
とかやって log に何が書かれてるか見てみるといい。
次に
cat log
とやると何が起こるか確かめてみるといい。
これがわかると画面を消すのに clear なんて外部コマンドを使わなくてもよくなる。
2018/10/05(金) 10:44:56.64ID:uhmiVRnQa
>>524
whileとelseは直後に空白あける。
2018/10/05(金) 11:16:24.26ID:DxqDA2/Ip
https://i.imgur.com/ldQVwUT.jpg
↑ソースコード

https://i.imgur.com/eCYNPsi.jpg
↑実行結果

となりました。
「set number」と「syntax on」を初期設定したいのですが、どうすればいいですか?
2018/10/05(金) 11:16:46.89ID:FRcGP58U0
free run counter
2018/10/05(金) 11:19:04.80ID:DxqDA2/Ip
あと、iPhoneのタイマーと比べた結果カウントが遅くなっていたことがわかりました。これは前後の関数を実行する際にノータイムでは出来ないことが原因だと考えられます。
2018/10/05(金) 11:20:50.09ID:6zSKEd8l0
>>529
ちょっとまて、>>527 を試そうとしてる雰囲気だけど、clear > log とか cat log はソースコードに埋めるんじゃなく、コマンドラインとして叩くんだよ。
2018/10/05(金) 11:44:12.58ID:DxqDA2/Ip
https://i.imgur.com/5usTieQ.jpg

流れが速くて打てません。
2018/10/05(金) 11:54:29.41ID:DxqDA2/Ip
while の中でminute,secondを宣言したら回るたびに宣言する事になるので、なんかダメだと思いました。

あと、ちゃんとしたタイマーを作るにはどうすればいいのか知りたいです。
2018/10/05(金) 11:56:56.95ID:aS2keCHZa
画面が流れるんでなくて、部分的に書き換えたい感じ?
cursesを使うのじゃ
2018/10/05(金) 12:03:40.55ID:3s3m6VbBM
教え方の下手くそな教えたがりばかりで
あげくにcursesまで初心者に吹き込んで質問者大混乱
2018/10/05(金) 12:22:47.81ID:NVTQRcnQa
>>524
なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?
538デフォルトの名無しさん (スップ Sd00-t0aP)
垢版 |
2018/10/05(金) 12:23:53.35ID:G8OY4AG7d
そこは教え方の上手なあなたが教えてあげれば良い事だな
2018/10/05(金) 12:50:10.63ID:cQzHZ22n0
>>537
歴史に残る名言だなw
540デフォルトの名無しさん (アウアウカー Sa0a-iYeS)
垢版 |
2018/10/05(金) 12:50:15.78ID:qaFHFmCDa
>>537
それ、もういいですから。
2018/10/05(金) 13:01:08.97ID:vpbu8eze0
clear > log
cat log

Linux の基本コマンドも知らないような奴が、C をやるな!
10年勉強してからやれ
2018/10/05(金) 13:01:39.72ID:6zSKEd8l0
>>533
>>527 で言ってるのは >>524 の実行とは別の話。
画面を消す方法の正体を調べる手順だから、ヒマな時にやればいい。

>>534
宣言はコンパイル時に解釈されるもので、実行時に「宣言という動作」を行っているわけじゃない。
だから実行時にかかるコストは無いから、ループの中に書いてもいい。
C は変数が見える範囲(スコープ)が { } の中になってる。
minute と second は while で回してる { } の中でしか使ってなく、かつ表示のための一時的な変数だから、それを必要とする範囲内だけで見えるようにすると分かりやすくなる。
変数のスコープは極力狭くなるように書くといいよ。
分かりやすさの点でもいいし、メモリ(スタック)の消費量も少なくなる。

正確なタイマーを作るならインターバルタイマーで調べてみるといいけど、まだそれを使えるレベルじゃないと思う。

>>536
curses ってなに?
543デフォルトの名無しさん (アウアウカー Sa0a-iYeS)
垢版 |
2018/10/05(金) 13:03:13.60ID:qaFHFmCDa
>>534
1秒ごとに setitimer() とか使って割り込み掛かればいいんだけどね、普通のOSだとあまり正確にではないかも知れない。しかしただsleepするよりは正確だと思う。

割り込み使わないやり方で今と似ているけどましなやり方は次の処理開始時間までより正確に sleep することだ。
これは gettimeofday() でμ秒までの時刻を取得して秒が変わるまで何μ秒なのか計算して usleep() で sleep させればできる。
2018/10/05(金) 13:11:04.98ID:6zSKEd8l0
curses ってライブラリか。
面白そうだな。
2018/10/05(金) 13:31:56.77ID:DxqDA2/Ip
>>542
変数の宣言はコンパイル時に解釈されているのですね。わかりました。

「set number」と「syntax on」を初期設定にするにはどうすればいいですか?
2018/10/05(金) 13:33:35.60ID:DxqDA2/Ip
あと、インターバルタイマーも調べて起きます。
2018/10/05(金) 16:55:26.05ID:NK5dBb8n0
>>545
printf '%s\n%s\n' 'set number' 'syntax on' >> ~/.vimrc
2018/10/05(金) 16:56:30.81ID:NK5dBb8n0
ていうかエディタの名前くらい書け。
まあset numberという設定名のエディタはVimくらいしか思い付かんが。
2018/10/06(土) 10:59:41.46ID:YTpMAVXmM
そこはggrksだろ

なに遊ばれとんねん
2018/10/08(月) 11:16:41.41ID:5icYsRLJ0
H8 (3694) と秋月キャラLCD(SC1602) のI/F 関数です。

//--------------------------------------------------------------------
#include<3694.h> // CPU のレジスター定義、その他関数のプロトタイプ

struct DATA_BUS{
unsigned char NOTUSE:4;
IO.PDR8.BIT.B7;
IO.PDR8.BIT.B6;
IO.PDR8.BIT.B5;
IO.PDR8.BIT.B4;
}; // IO.PDR8.BIT.B3 は不使用

#define LCD_RS IO.PDR8.BIT.B2 // P82を LCD RSに定義
#define LCD_RW IO.PDR8.BIT.B1 // P81を LCD R/Wに定義
#define LCD_E IO.PDR8.BIT.B0 // P80を LCD Eに定義
#define LCD_DB DATA_BUS // P83〜P87 のみをLCD D4〜D7 に定義したい
//--------------------------------------------------------------------
LCD_DB に構造体の入れ子(DATA_BUS) を定義しています。この書き方で動作しますか。この関数の作者はLCD_DB にunsigned char 型で下位4ビットのみ有効なchar 型を代入していました。
2018/10/08(月) 13:21:40.69ID:i8/5B6xca
関数がないじゃん
2018/10/08(月) 13:57:42.90ID:wqzMNkqt0
そもそもコンパイルできなかったのでは?
構造体のメンバにB4〜B7みたいな定義済みの定数は書けないよ。
2018/10/08(月) 14:22:18.67ID:NcWFD+EU0
Cってネットワーク系のコマンド作るのに向いてる?
2018/10/08(月) 14:26:06.72ID:i8/5B6xca
ネットワーク系のコマンドというのが意味不明だが、socketインターフェースはある。
向いてるかといえば向いてないが、そういう低レイヤの話としては言語は何を使っても大して変わらん様な気はする。
555デフォルトの名無しさん (アウアウウー Sab5-Gru0)
垢版 |
2018/10/08(月) 14:31:56.89ID:meeyxWTYa
REST APIなら libcurl で楽々よ
2018/10/08(月) 14:51:03.67ID:FGHe46tu0
ビットコのbot殆どがPythonやNode.jsばっかだけど
libcurl使えばスクリプト言語並みに簡単に使えるよね
2018/10/08(月) 15:10:37.99ID:NcWFD+EU0
なるほどソケットっていうのもあるのか。
無知なもので「ネットワークコマンド」と言えばwgetやらcurlやらのTCPクライアントだけを指すと思ってたw
curlってコマンドだけじゃなくてlibcurlも提供してくれてるんだね。
だったらpure CでもTCPクライアントが作れそう。
2018/10/08(月) 15:53:56.39ID:i8/5B6xca
言葉の話だけどcurlは基本的にはHTTPクライアントだ。TCPの上に乗ってる。
TCPクライアントはtelnetとかncだな。ncはUDPも行ける。
TCPも基本的には難しくないが、異常系を考え出すときりがない。
2018/10/08(月) 16:51:30.03ID:wTnfR6Jf0
大昔ソケットレベルから自前でHTTPクライアント作ったことある
TCPプロトコルを学ぶ良い勉強になるよ
560デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 16:56:21.14ID:SHTmPUE+0
相変わらず低学歴知恵遅れは頭悪いこといってるわ
ソケット通信でTCPプロトコルとか

オマエがソケット通信でやりとりしてんのはHTTP

ホントななんでココまで頭悪いのしかいないのか不思議
561デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:00:43.05ID:SHTmPUE+0
トランスファープロトコルにTCP/IP使ってるといっても
きっとこのスレの低学歴知恵遅れは意味が分からない

smtpもftpもほとんどが普通にtcp/ipだからな

いまどきのnetbiosも普通にtcp/ipだからな
昔はトランスファープロトコルにnetbeuiつかってた
で、今ではnetbios over tcp/ipで
nbtとかなんとかいってる
2018/10/08(月) 17:32:32.71ID:i8/5B6xca
>>561
知らんテクニカルタームは使うときに確認しろよ
563デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:34:14.12ID:SHTmPUE+0
また低学歴知恵遅れが意味不明ないちゃんもんとけてるし
先にいっとくけどな
とてつもなく頭悪いこといってんのオマエだからな

まずその自覚がない
564デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:35:52.31ID:SHTmPUE+0
pop3もtcp/ip
sshもtcp/ip
httpsもtcp/ip

きっとな低学歴知恵遅れには
なにをいってるのいかが分からないとは思うわ
565デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:37:36.24ID:SHTmPUE+0
ホントな低学歴知恵遅れは
頭悪いことを自信満々でいうから困るわ
2018/10/08(月) 17:44:32.09ID:BtXxUchaM
基本情報どころかITパスポート程度の知識でドヤってるのか
低学歴知遅れ君は
567デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:47:16.60ID:SHTmPUE+0
それにすら到達してない低学歴知恵遅れが
ドヤってるスレがこの板だからな

マジで低学歴知恵遅れはこの板から排除したほうがいい
有害
2018/10/08(月) 17:48:30.52ID:i8/5B6xca
じゃあ「トランスファープロコトル」ってなんだか説明してくれよ…
なんだよ「ソケット通信でHTTP」って。
569デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:50:22.69ID:SHTmPUE+0
HTTPというのは
ハイパーテキストトランスファー プ ロ ト コ ル
だからな

ソケット通信(トランスファープロトコル意識する必要ない)で
HTTPの内容してるだけだ

わかった?
570デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:51:32.47ID:SHTmPUE+0
ソケット通信でHTTPの内容をヤリトリしてるのすら分かってないワケだからな
ここまで頭悪いと話にならない
2018/10/08(月) 17:51:37.49ID:BtXxUchaM
低学歴知遅れ君ってプロトコルの意味を理解してなさそう
572デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:52:10.92ID:SHTmPUE+0
で、低学歴知恵遅れの負けず嫌いは半端ないからな
573デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:52:42.31ID:SHTmPUE+0
これ以上語るつもりはない
2018/10/08(月) 17:55:15.29ID:o/CKA6Eq0
昨日読んだTCPの本がよっぽど気に入ったんだね
2018/10/08(月) 17:59:44.79ID:i8/5B6xca
だからなんだよ「トランスファープロトコル」って
2018/10/08(月) 18:24:47.89ID:wTnfR6Jf0
TCP Transmission Control Protocol
IP   Internet Protocol

トランスポート層 TCP, UDP, DCCP, SCTP, IL, RUDP

似たような言葉はあるが、その表現は見つからないな
並行宇宙のどこかで使っているかもしれないが
ここではなさそうだ
2018/10/08(月) 18:25:27.11ID:NcWFD+EU0
あー。TCPというのはHTTPよりもう少し下層に位置する概念ってことかな?(合ってるか不安)
俺が作りたいなぁと思ったのは
$ xxx 'example.com'
とやるとブラウザでexample.comにアクセスして「ページのソースを表示する」機能を使ったときのような出力を返すコマンド。
これはTCPクライアントじゃなくてHTTPクライアントか。
2018/10/08(月) 18:27:46.37ID:wTnfR6Jf0
>>577
そう
普通はHTTPプロトコルのGETメソッド使う
POSTでも良いが、設定が多少複雑になる
2018/10/08(月) 18:29:18.08ID:lYyho1IC0
「トランスファープロトコル」は星の数ほどある「〜転送プロトコル」の用語として使われるけど、トランスファープロトコル単体で使用されてるのは聞いたことないね。
きっとトランスポートプロトコルの間違い。
2018/10/08(月) 18:29:27.24ID:wTnfR6Jf0
あ、下層というよりもアプリケーション層ですね
2018/10/08(月) 18:42:58.85ID:i8/5B6xca
>>577
まあGETするだけだったらそれこそTCPだけでもいい。
勉強としては、HTTPサーバにtelnetしてGETコマンド(と、いくつかのヘッダ)を打ち込んでみると、イメージがつかめるのではないかと。
2018/10/08(月) 19:28:25.64ID:ksVOiCMkM
半角久しぶりに来てんじゃん
やっぱお前が釣らなきゃ盛り上がらんな
2018/10/08(月) 19:39:09.30ID:sIA/07pT0
そろそろ知ったかマウント君はいなくなったかな?
2018/10/08(月) 19:44:22.79ID:VRFV8oUEp
クソガキ多いねw
2018/10/08(月) 19:45:29.27ID:o48XySPi0
勉強したいならCで
スティーブンス本で検索すれば、役に立つ書籍があるよ
使いたいだけならpostmanとかcurlでえんじゃね?
2018/10/08(月) 19:58:16.19ID:/43gNJgrM
ファーwww
2018/10/08(月) 20:47:31.58ID:FGHe46tu0
半角くんとかvoidくんとかこのスレには個性的な人が多いねw
588デフォルトの名無しさん (ワッチョイ 27cc-smg0)
垢版 |
2018/10/13(土) 20:15:38.78ID:mLt7ea1s0
すみません、C言語出テキストファイルの特定行を書き換えたいのですが
全て配列に読み込む→変更する→全て書き戻す
という方向しかないでしょうか。

変更前 01.txt
a=1
b=1
c=1

変更後 01.txt
a=1
b=0
c=1

こういった変更を行いたいです。
589デフォルトの名無しさん (ワッチョイ e780-gma9)
垢版 |
2018/10/13(土) 20:23:20.71ID:L3Dj2/gz0
標準入力から1行ずつひたすら読み込む
特定行以外をひたすら同じ内容を標準出力に出力する
特定行だけ変更内容を標準出力に出力する

できた
590デフォルトの名無しさん (ワッチョイ e780-gma9)
垢版 |
2018/10/13(土) 20:36:09.45ID:L3Dj2/gz0
aho.sh
----
#!/bin/bash
aho < 01.txt > 01_tmp.txt
mv -f 01_tmp.txt 01.txt

引数でファイル名を指定するどうでもいいことがどうしてもしたい場合は
一旦、プログラムでテンポラリファイルに書きだして
プログラムで最後にmvする必要がある
591デフォルトの名無しさん (ワッチョイ e780-gma9)
垢版 |
2018/10/13(土) 20:51:29.26ID:L3Dj2/gz0
https://ideone.com/CYlw3P
あとはテキトーにやりなさい
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況