質問編集履歴

2

追記部分2

2019/08/19 02:07

投稿

kokok
kokok

スコア145

test CHANGED
File without changes
test CHANGED
@@ -669,3 +669,69 @@
669
669
  ここに問題があるとある気がするのですが
670
670
 
671
671
  エラー内容があまり理解できなかったのでアドバイス頂けると助かります。
672
+
673
+
674
+
675
+
676
+
677
+ ----追記2----
678
+
679
+
680
+
681
+ ```c
682
+
683
+ if (opts.infilename != NULL) { //コマンドラインからファイルの入力があれば
684
+
685
+
686
+
687
+
688
+
689
+ if ((file = fopen(opts.infilename, "rb")) != NULL) { //ファイルがあれば
690
+
691
+
692
+
693
+ fseek(file, opts.offsetval, SEEK_END);
694
+
695
+ }
696
+
697
+ else { //ファイルがなければ
698
+
699
+ //printf( "ファイルがありません");
700
+
701
+ return 0;
702
+
703
+ }
704
+
705
+ }
706
+
707
+ else {
708
+
709
+ file = stdin;
710
+
711
+ }
712
+
713
+
714
+
715
+ while ((readnum = fread(bin_data, sizeof(unsigned char), TEXTBUF, file)) > 0) {
716
+
717
+
718
+
719
+ dump(bin_data, readnum, &opts);
720
+
721
+ }
722
+
723
+
724
+
725
+ if (opts.infilename != NULL) {
726
+
727
+ fclose(file); //ファイルが開かれたらクローズ
728
+
729
+ }
730
+
731
+ }
732
+
733
+ ```
734
+
735
+
736
+
737
+ このように変更したところエラーメッセージは出なくなりましたが、ファイルの中身が表示されません。

1

追記部分

2019/08/19 02:07

投稿

kokok
kokok

スコア145

test CHANGED
File without changes
test CHANGED
@@ -595,3 +595,77 @@
595
595
 
596
596
 
597
597
  ```
598
+
599
+
600
+
601
+
602
+
603
+ ----追記----
604
+
605
+
606
+
607
+ コマンドラインで実行すると
608
+
609
+ Debug Assertion Failed
610
+
611
+
612
+
613
+ Expression: stram != nullptr
614
+
615
+
616
+
617
+ とエラーが出てしまいます。
618
+
619
+
620
+
621
+ ```c
622
+
623
+ if (opts.infilename != NULL) {
624
+
625
+
626
+
627
+ file = fopen(opts.infilename, "rb");
628
+
629
+ // fseek(file, opts.offsetval, SEEK_END);
630
+
631
+
632
+
633
+
634
+
635
+ }
636
+
637
+ else {
638
+
639
+ file = stdin;
640
+
641
+ return 0;
642
+
643
+ }
644
+
645
+
646
+
647
+ while ((readnum = fread(bin_data, sizeof(unsigned char), TEXTBUF, file)) > 0) {
648
+
649
+
650
+
651
+ dump(bin_data, readnum, &opts);
652
+
653
+ }
654
+
655
+
656
+
657
+ if (opts.infilename != NULL) {
658
+
659
+ fclose(file); //ファイルが開かれたらクローズ
660
+
661
+ }
662
+
663
+ }
664
+
665
+ ```
666
+
667
+
668
+
669
+ ここに問題があるとある気がするのですが
670
+
671
+ エラー内容があまり理解できなかったのでアドバイス頂けると助かります。