約 2,919,840 件
https://w.atwiki.jp/ndsdev/pages/6.html
アーカイブ @wikiのwikiモードでは #archive_log() と入力することで、特定のウェブページを保存しておくことができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/25_171_ja.html たとえば、#archive_log()と入力すると以下のように表示されます。 保存したいURLとサイト名を入力して"アーカイブログ"をクリックしてみよう サイト名 URL
https://w.atwiki.jp/asato/pages/333.html
印刷済み AOP言語 関数型 プログラム構造 言語Scala Erlang Haskell ML Orc Haskell C++ DSL Type Classes as Objects and Implicits, SPLASH 2010 Language Virtualization for Heterogeneous Parallel Computing, TR 2010 Modules as Objects in Newspeak, ECOOP 2010 JCoBox Generalizing Active Objects to Concurrent Components, ECOOP 2010 Predicated Generic Functions Enabling Context-Dependent Method Dispatch , SC 2010 Views Object-Inspired Concurrency Control, ICSE 2010 Design Pattern Implementation in Object Teams, SAC 2010 Capabilities for Uniqueness and Borrowing, ECOOP 2010 An Analysis of the Variability in Forty Preprocessor-Based Software Product Lines, ICSE 2010 The Design of a Task Parallel Library, OOPSLA 2009 Coding Without Your Crystal Ball Unanticipated Object-Oriented Reuse, PhD thesis 2009 CZ Multiple Inheritance Without Diamonds, OOPSLA 2009 Bidirectional Programming Languages, PhD thesis, 2009 Deprecating the Observer Pattern, TR 2010 Language Boxes. Bending the Host Language with Modular Language Changes, SLE 2009 Using Twinning to Adapt Programs to Alternative APIs, ICSE 2010 Batching A Design Pattern for Efficient and Flexible Client/Server Interaction, TPLoP Reusable Enterprise Metadata with Pattern-Based Structural Expressions, AOSD 2010 Mining API Mapping for Language Migration, ICSE 2010 Translucid Contracts for Aspect-oriented Interfaces, FOAL 2010 JavaCOP Declarative Pluggable Types for Java Weaving Generic Programming and Traversal Performance, AOSD 2010 The Mythical Matched Modules Overcoming the Tyranny of Inflexible Software Construction, Onward! 2009 Optimizing Non-functional Properties of Software Product Lines by means of Refactorings, VaMoS 2010 Lessons in Software Evolution Learned by Listening to Smalltalk, SOFSEM, 2010 Composing Feature Models, SLE 2009 Modeling the Variability of Architectural Patterns, SAC 2010 ModelTalk When Everything Is a Domain-Specific Language, IEEE Software 2009 Classification of model refactoring approache , JOT 2009 Programming language abstractions for mobile code, Ph.D. Thesis 2009 Harmony-Oriented Programming and Software Evolution, OOPSLA 2009 A Case Study to Evaluate the Suitability of Graph Transformation Tools for Program Refactoring, 2009 Transactors Unifying Transactions and Actors, TR 2009 An Approach for the Systematic Development of Domain-Specific Languages, SP E 2009 Context-oriented Software Transactional Memory in Common Lisp, DLS 2009 Improving API Usage through Detection of Redundant Code, ASE 2009 Panini A Language with Asynchronous, Typed Events , TR 2009 What Makes APIs Hard to Learn? Answers from Developers, IEEE SOftware 2009 Design Guidelines for Domain Specific Languages, DSM 2009 Combining Static and Dynamic Feature Binding in Software Product Lines, TR 2009 Programming Wireless Sensor Networks Fundamental Concepts and State-of-the-Art, Language Factories, Onward! 2009 Design Pattern Density Defined, Onward! 2009 Regrowing a Language Refactoring Tools Allow Programming Languages to Evolve, Onward! 2009 Provenance A Future History, Onward! 2009 Study of an API migration for two XML APIs, SLE 2009 Directing JavaScript with Arrows, DSL 2009 The Ruby Intermediate Language, DLS 2009 PIL A Platform Independent Language for Retargetable DSLs?, TR 2009, SLE 2009 An Ontology-Based Metalanguage with Explicit Instantiation, Master s thesis, 2009 VML* -- A Family of Languages for Variability Management in Software Product Lines, SLE 2009 Domain-Specific Metamodelling Languages for Software Language Engineering, SLE 2009 A Role-based Approach Towards Modular Language Engineering, SLE 2009 Practical, Pluggable Types for a Dynamic Language, Journal of Computer Languages, Systems and Structures, 2009 Typestate-Oriented Programming, Onward! 2009 Safe Composition of Non-Monotonic Features, GPCE 2009 Domain-specific languages in practice A user study on the success factors, MODELS 2009 Flapjax A Programming Language for Ajax Applications, OOPSLA 2009 Three Approaches to Object Evolution, PPPJ 2009 Minimizing Dependencies within Generic Classes for Faster and Smaller Programs, OOPSLA 2009 An Overview of Feature-Oriented Software Development , JOT 2009 JavaGI in the Battlefield Practical Experience with Generalized Interfaces, GPCE 2009 An Exploratory Study of CaesarJ Based on Implementations of the Gang-of-Four patterns, TR 2008 Intenational workshop on Context-oriented Programming 2009 Safe Functional Reactive Programming through Dependent Types, ICFP 2009 Push-pull functional reactive programming, Haskell Symposium 2009 Type-Safe Observable Sharing in Haskell, Haskell Symposium 2009 Parallel Concurrent ML, ICFP 2009 Types and Modularity for Implicit Invocation with Implicit Announcement, TOSEM 2009 Fine-Grained Access Control with Object-Sensitive Roles, ECOOP 2009 Compiling Structural Types on the JVM, Fourth Workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems 2009 Hygiene for the Unhygienic Hygiene-Compatible Macros in an Unhygienic Macro System, 2nd European Lisp Symposium 2009 Monadic Memoization Mixins, SBLP 2009 Computer Code as a Medium for Human Communication Are Programming Languages Improving?, PPIG 2009 Type-Safe Feature-Oriented Product Lines, TR 2009 Controlled Evolution of Adaptive Programs, TR 2009 A Generative Approach to Traversal-based Generic Programming, TR 2009 印刷済み Refactoring Feature Modules, ICSR 2009 AOP Method Proxy-Based AOP in Scala, JOT 2009 User-Defined Join Point Selectors An Extension Mechanism for Pointcut Languages, JOT 2008 Gradual Encapsulation, JOT 2008 Dynamic Aspects — An AOP Implementation for Squeak, Masters thesis, 2008 Automating Deployment Planning with an Aspect Weaver, 2009 Functional Adaptive Programming, 2008 Constraint-based Model Weaving Dependent advice A general approach to optimizing history-based aspects On the Impact of Aspectual Decompositions on Design Stability An Empirical Study? Model driven design and aspect weaving Resource-based Verification for Robust Composition of Aspects,PhD thesis Prototyping and Composing Aspect Languages using an Aspect Interpreter Framework, ECOOP 2008 Marius Marin, An Integrated System to Manage Crosscutting Concerns in Source Code, PhD Thesis, 2008 How AspectJ is Used An Analysis of Eleven AspectJ Programs User-Changeable Visibility Resolving Unanticipated Name Clashes in Traits, OOPSLA07 Relational Aspects as Tracematches Modularity First A Case for Mixing AOP and Attribute Grammars StrongAspectJ Flexible and Safe Pointcut/Advice Bindings Dynamically Linked Domain-Specific Extensions for Advice Languages] Reasoning about aspects with common sense, AOSD 2008 A Controlled Experiment for the Assessment of Aspects - Tracing in an Industrial Context Crosscutting, what is and what is not? A Formal definition based on a Crosscutting Pattern Weave Now or Weave Later A Test Driven Development Perspective on Aspect-oriented Deployment Models Contracts for Aspect-Oriented Design, SPLAT 2008 Balancing Language Concerns Who Decides?, SPLAT 2008 Groovy AOP A Dynamic AOP System for a JVM-based Language, SPLAT 2008 On-Demand Materialization of Aspects for Application Development, SPLAT 2008 Composability of Aspects, SPLAT 2008 Implementing Design Patterns in CaesarJ an Exploratory Study, SPLAT 2008 Enforcing Behavioral Constraints in Evolving Aspect-Oriented Programs , FOAL 2008 ERedundancy-free Residual Dispatch , FOAL 2008 言語 Dependent Advice A General Approach to Optimizing History-based Aspects, AOSD 2009 関数型 A Functional I/O System (or Fun for Freshman Kids) , ICFP 2009 プログラム構造 Language-Independent Quantification and Weaving for Feature Composition, SC 2009 FeatureHouse Language-Independent, Automated Software Composition, ICSE 2009 言語 Expressive and Modular Predicate Dispatch for Java, TOPLAS 2009 Growing a Language The GLoo Perspective, SC 2008 From Java to UpgradeJ An empirical study, Hotswup 2008 Multiple Dispatch in Practice, OOPSLA 2008 Constrained Types for Object-Oriented Languages, OOPSLA 2008 Calling Variadic Functions from a Strongly-typed Language. ML Modules and Haskell Type Classes A Constructive Comparison, APLAS 2008 Bristlecone A Language for Robust Software Systems, ECOOP 2008 Implicitly-threaded parallelism in Manticore, ICFP 2008 Variable-Arity Generic Interfaces, TR 2008 Traits at Work the design of a new trait-based stream library Scala Scala for Generic Programmers, WGP 2008 Erlang A History of Erlang Haskell Making Monads First-class With Template Haskell, Haskell 2008 Harnessing the Multicores Nested Data Parallelism in Haskell, FSTTCS 2008 Type Checking with Open Type Function, ICFP 2008 The Haskell Programmer’s Guide to the IO Monad (PDF) Comparing Libraries for Generic Programming in Haskell ML http //wasp.cs.washington.edu/wasp_pubs.html, ICFP 2008 Orc The Orc Programming Language, IFIP international conference on Formal Techniques for Distributed Systems 2009 Haskell Push-pull functional reactive programming, Haskell Symposium 2009 C++ What is C++0x, 2009 DSL Using the Meta-Environment for Domain Specific Language Engineering, TR 2008 When And How To Develop Domain-Specific Languages (PDF), 2005 Compiling Embedded Languages, 2003 DSL Implementation in MetaOCaml, Template Haskell, and C++. , 2004
https://w.atwiki.jp/wikiwiki2/pages/649.html
コーリー・アルソフ『独立プログラマー』 日経BP社 2018.2 市立007ア (補章)訳者による。 1.Python関連のプログラミング書籍やサイト 退屈なことはPythonにやらせよう プログラムの絵本 翔泳社 しろ いちばんやさしいPythonの教本 インプレス 第2版 こ Python Boot Camp Text pycamp.pycon.jp/index.html Python チュートリアル docs.python.org/ja/3/tutorial/index.html みんなのPython第4版 しだ2016 2.Python関連の開発全般 Pythonエンジニア ファーストブック Pythonプロフェッショナルプログラミング 秀和システム(こ 初版) エキスパートPythonプログラミング(こ 初版) 3.ツールなど わかばちゃんと学ぶ Git使い方入門 し Web制作者のためのGitHubの教科書 インプレス Learn Git Branching learngitbranching.js.org アルゴリズムの絵本 翔泳社 あだ(医) アルゴリズム図鑑 翔泳社 だ(医) Python Tutor pythontutor.com explainshell.com explainshell.com 詳説正規表現第3版 だ 正規表現の視覚化ツール www.deguggex.com, regex101.com 4.プログラミングの基礎、エッセイ 改訂新版 これからはじめるプログラミング 基礎の基礎 2008 けあ これから始めるプログラミング 作って覚える基礎の基礎 2016(scratch) 新装版 達人プログラマー職人から名匠への道 け SOFT SKILLS 人生マニュアル こ ハッカーになろう cruel.org/freeware/hacker.html 5.プログラミングについてのQ Aサイト Stack Overflow ja.stackoverflow.com teratail teratail.com 6.日本のPythonコミュニティ www.python.ja/pages/community.html 7.プログラミング学習サービス PyQ pyq.jp ProjectEuler projecteuler.net CheckIO checkio.org Paiza paiza.jp
https://w.atwiki.jp/link_prog/pages/2.html
メニュー トップページ メニュー 右メニュー Java リンク @wiki @wikiご利用ガイド 他のサービス 無料ホームページ作成 無料ブログ作成 2ch型掲示板レンタル 無料掲示板レンタル お絵かきレンタル 無料ソーシャルプロフ wikiの編集方法についてはこちら 左メニューの編集方法についてはこちら ここを編集
https://w.atwiki.jp/doshisha_intelligent/pages/74.html
C言語 Java言語
https://w.atwiki.jp/ankundora/pages/10.html
関連ブログ @wikiのwikiモードでは #bf(興味のある単語) と入力することで、あるキーワードに関連するブログ一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_161_ja.html たとえば、#bf(ゲーム)と入力すると以下のように表示されます。 #bf
https://w.atwiki.jp/itatiyanmo/pages/53.html
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 Form { public Form1() { InitializeComponent(); } Random random = new Random(); private void DrawPaper() { Graphics paper = groupBox1.CreateGraphics(); SolidBrush brush = new SolidBrush(Color.White); paper.FillRectangle(brush, 30, 30, 210, 170); } private void DrawScissors() { Graphics paper = groupBox1.CreateGraphics(); Pen pen = new Pen(Color.Black, 4); paper.DrawLine(pen, 30, 30, 240, 200); paper.DrawLine(pen, 240, 30, 30, 200); } private void DrawRock() { Graphics paper = groupBox1.CreateGraphics(); SolidBrush brush = new SolidBrush(Color.Red); paper.FillEllipse(brush, 30, 30, 210, 170); } private void DrawPaper2() { Graphics paper2 = groupBox2.CreateGraphics(); SolidBrush brush2 = new SolidBrush(Color.White); paper2.FillRectangle(brush2, 30, 30, 210, 170); } private void DrawScissors2() { Graphics paper2 = groupBox2.CreateGraphics(); Pen pen2 = new Pen(Color.Black, 4); paper2.DrawLine(pen2, 30, 30, 240, 200); paper2.DrawLine(pen2, 240, 30, 30, 200); } private void DrawRock2() { Graphics paper2 = groupBox2.CreateGraphics(); SolidBrush brush2 = new SolidBrush(Color.Red); paper2.FillEllipse(brush2, 30, 30, 210, 170); } private void buttonPaper_Click(object sender, EventArgs e) { this.Refresh(); DrawPaper(); int num = random.Next(3); { if (num == 0) { DrawRock2(); label1.Text = "You win!"; } else if (num == 1) { DrawScissors2(); label1.Text = "You lose!"; } else { DrawPaper2(); label1.Text = "Draw"; } } } private void buttonScissors_Click(object sender, EventArgs e) { this.Refresh(); DrawScissors(); int num = random.Next(3); { if (num == 0) { DrawPaper2(); label1.Text = "You win!"; } else if (num == 1) { DrawRock2(); label1.Text = "You lose!"; } else { DrawScissors2(); label1.Text = "Draw"; } } } private void buttonRock_Click(object sender, EventArgs e) { this.Refresh(); DrawRock(); int num = random.Next(3); { if (num == 0) { DrawScissors2(); label1.Text = "You win!"; } else if (num == 1) { DrawPaper2(); label1.Text = "You lose!"; } else { DrawRock2(); label1.Text = "Draw"; } } } private void button1_Click(object sender, EventArgs e) { this.Close(); } } }
https://w.atwiki.jp/kengo_asamizu/pages/2.html
メニュー トップページ プラグイン紹介 メニュー メニュー2 リンク @wiki @wikiご利用ガイド 他のサービス 無料ホームページ作成 無料ブログ作成 2ch型掲示板レンタル 無料掲示板レンタル お絵かきレンタル 無料ソーシャルプロフ ここを編集
https://w.atwiki.jp/opengl/pages/224.html
サンプリングビット数を16Bitから8Bitに変換します。 音質は少し劣化しますがデータサイズは半分になります。 #include stdio.h #include string.h #define FileName Warp1_ste.wav //適当な曲を探して下さい。 // defines #define STR_RIFF RIFF #define STR_WAVE WAVE #define STR_fmt fmt #define STR_data data #define WAV_MONAURAL 1 #define WAV_STEREO 2 #pragma pack(push,1) struct WaveFileHeader{ char Riff[4]; // RIFFヘッダ unsigned int FileSize; // ファイルサイズ - 8 char Wave[4]; // WAVEヘッダ }; struct TagChank{ unsigned char Fmt[4]; // fmt チャンク unsigned int FmtSize; // fmt チャンクのバイト数 }; struct WaveFormat{ unsigned short FormatTag; // フォーマットID unsigned short Channels; // チャンネル数 unsigned int SamplingRate; // サンプリングレート unsigned int BytesPerSec; // データ速度 (Byte/sec) unsigned short BlockAlign; // ブロックサイズ unsigned short BitsPerSample; // サンプルあたりのビット数 }; struct tagWrSWaveFileHeader { unsigned char hdrRiff[4]; // RIFF unsigned int sizeOfFile; // ファイルサイズ - 8 unsigned char hdrWave[4]; // WAVE unsigned char hdrFmt[4]; // fmt unsigned int sizeOfFmt; // sizeof( PCMWAVEFORMAT ) struct { unsigned short formatTag; // WAVE_FORMAT_PCM unsigned short channels; // number of channels unsigned int samplesPerSec; // sampling rate unsigned int bytesPerSec; // samplesPerSec * channels * (bitsPerSample/8) unsigned short blockAlign; // block align unsigned short bitsPerSample; // bits per sampling } stWaveFormat; // PCMWAVEFORMAT unsigned char hdrData[4]; // data unsigned int sizeOfData; // Waveデーターサイズ }; #pragma pack(pop) WaveFileHeader waveFileHeader; WaveFormat waveFmtPcm; TagChank chank; //16bitを8bitに変換 int Wav16BitTo8Bit(FILE *fpIn, FILE *fpOut, long sizeOfData) { unsigned int i; short In[2]; unsigned char Out[2]; for (i = 0; i sizeOfData / sizeof In ; i++) { if(fread( In, sizeof In, 1, fpIn) != 1) return -1; Out[0]=(unsigned char)((In[0] 8)+128); Out[1]=(unsigned char)((In[1] 8)+128); if (fwrite(Out, sizeof Out, 1, fpOut) != 1) return -1; } return 0; } // wav ヘッダ 書き込み long wavHeaderWrite(FILE *fp, long sizeOfData, unsigned short ch, unsigned long sampRate, unsigned short sampBits) { unsigned short bytes; tagWrSWaveFileHeader wrWavHdr; strncpy((char *)wrWavHdr.hdrRiff,STR_RIFF,sizeof wrWavHdr.hdrRiff); // RIFF ヘッダ wrWavHdr.sizeOfFile=sizeOfData + sizeof(wrWavHdr) - 8; // ファイルサイズ strncpy((char *)wrWavHdr.hdrWave,STR_WAVE,sizeof wrWavHdr.hdrWave); // WAVE ヘッダ strncpy((char *)wrWavHdr.hdrFmt,STR_fmt,sizeof wrWavHdr.hdrFmt); // fmt チャンク wrWavHdr.sizeOfFmt= sizeof wrWavHdr.stWaveFormat; // fmt チャンク,無圧縮wav は 16 wrWavHdr.stWaveFormat.formatTag=1; // 無圧縮PCM = 1 wrWavHdr.stWaveFormat.channels=ch; // ch (mono=1, stereo=2) wrWavHdr.stWaveFormat.samplesPerSec=sampRate; // sampleng rate(Hz) bytes = sampBits / 8; // bytes/sec wrWavHdr.stWaveFormat.bytesPerSec = bytes * ch * sampRate; wrWavHdr.stWaveFormat.blockAlign=bytes * ch; // byte/サンプル*チャンネル wrWavHdr.stWaveFormat.bitsPerSample=sampBits; // bit/サンプル strncpy((char *)wrWavHdr.hdrData,STR_data,sizeof wrWavHdr.hdrData); // dataチャンク wrWavHdr.sizeOfData=sizeOfData; // データ長 (byte) fwrite( wrWavHdr, sizeof wrWavHdr, 1, fp); // write header return ftell(fp); } // wav データ書き込み int wavDataWrite(FILE *fpIn, FILE *fpOut, long posOfData,long sizeOfData, short bytesPerSingleCh) { fseek(fpIn, posOfData, SEEK_SET); //元ファイルのデータ開始部分へ if( bytesPerSingleCh==1){ fprintf(stderr, 8ビットファイルです ); return -1; }else{ return Wav16BitTo8Bit(fpIn, fpOut, sizeOfData); } } // ファイル内容書き出し int wavWrite(char *inFile, char *outFile, unsigned long sampRate, unsigned short sampBits, long posOfData, long sizeOfData) { unsigned short bytesPerSingleCh; FILE *fpIn, *fpOut; if((fpOut = fopen(outFile, wb )) == NULL) { fprintf(stderr, %s をオープンできません.\n , outFile); return -1; } bytesPerSingleCh = sampBits / 8; // wav ヘッダ書き込み if(wavHeaderWrite(fpOut, sizeOfData/2, WAV_STEREO, sampRate, sampBits/2) != 44) { fprintf(stderr, ヘッダを書き込めません %s\n , outFile); fclose(fpOut); return -1; } if((fpIn = fopen(inFile, rb )) == NULL) { fprintf(stderr, %s をオープンできません.\n , inFile); fclose(fpOut); return -1; } // wav データ書き込み if(wavDataWrite(fpIn, fpOut, posOfData, sizeOfData, bytesPerSingleCh)!=0) { fprintf(stderr, wavDataWriteでエラー発生.\n ); fclose(fpIn); fclose(fpOut); return -1; } fclose(fpIn); fclose(fpOut); return 0; } bool readfmtChunk(FILE *fp, WaveFormat* waveFmtPcm){ if(fread(waveFmtPcm, sizeof(WaveFormat), 1, fp) != 1)return false; printf( データ形式 %u (1 = PCM)\n , waveFmtPcm- FormatTag); printf( チャンネル数 %u\n , waveFmtPcm- Channels); printf( サンプリング周波数 %lu [Hz]\n , waveFmtPcm- SamplingRate); printf( バイト数 / 秒 %lu [bytes/sec]\n , waveFmtPcm- BytesPerSec); printf( バイト数×チャンネル数 %u [bytes]\n , waveFmtPcm- BlockAlign); printf( ビット数 / サンプル %u [bits/sample]\n , waveFmtPcm- BitsPerSample); if(waveFmtPcm- Channels != 2) { printf( \nこのプログラムはステレオのファイルを対象とします.\n ); printf( このwavファイルのチャンネル数は %d です.\n , waveFmtPcm- Channels); return false; } if(waveFmtPcm- FormatTag != 1) { printf( \nこのプログラムは無圧縮PCMのみを対象とします.\n ); printf( このwavファイルの形式は %04X です.\n , waveFmtPcm- FormatTag); return false; } if(waveFmtPcm- BitsPerSample != 8 waveFmtPcm- BitsPerSample != 16) { printf( \nこのプログラムは8/16ビットサンプリングされたものを対象とします\n ); printf( このwavファイルの bits/secは %d です.\n , waveFmtPcm- BitsPerSample); return false; } return true; } bool WaveHeaderRead(char *wavefile){ long fPos, len; FILE *fp; errno_t err; if (err=fopen_s( fp,wavefile, rb ) !=0){ printf( %sをオープンできません\n , wavefile); return false; } printf( \n%s \n , wavefile); // ヘッダ情報 if (fread( waveFileHeader, sizeof waveFileHeader, 1, fp) != 1){ printf( %ld で読み込み失敗\n , ftell(fp)); fclose(fp); return false; } if(strncmp( waveFileHeader.Riff, RIFF , 4) != 0){ printf( RIFF フォーマットでない\n ); fclose(fp); return false; } // WAVE ヘッダ情報 if (memcmp(waveFileHeader.Wave, WAVE , 4) != 0){ printf( WAVE が無い\n ); fclose(fp); return false; } // 4Byte これ以降のバイト数 = (ファイルサイズ - 8)(Byte) len = waveFileHeader.FileSize; // チャンク情報 while (fread( chank, sizeof chank, 1, fp) == 1){ if(memcmp( chank.Fmt, fmt , sizeof chank.Fmt) == 0){ len=chank.FmtSize; printf( \ fmt \ の長さ %ld [bytes]\n\n , len); fPos = ftell(fp); if(! readfmtChunk( fp, waveFmtPcm))return false; fseek(fp, fPos + len, SEEK_SET); }else if(memcmp(chank.Fmt, data , 4) == 0){ len = chank.FmtSize; printf( \n\ data\ の長さ %ld [bytes]\n , len); fPos = ftell(fp); fseek(fp, len + fPos - 4, SEEK_SET); break; }else{ len=chank.FmtSize; printf( \ %c%c%c%c\ の長さ %ld [bytes]\n\n , chank.Fmt[0],chank.Fmt[1], chank.Fmt[2],chank.Fmt[3], len); fPos = ftell(fp); fseek(fp, fPos + len, SEEK_SET); } } fclose(fp); return true; } void main(int argc, char *argv[]){ WaveHeaderRead(FileName); if( waveFmtPcm.BitsPerSample != 16 ) { fprintf(stderr, サンプリングビット数は16ビットでなければなりません\n ); return; } if( wavWrite(FileName, 16BitTo8Bit.wav , waveFmtPcm.SamplingRate, waveFmtPcm.BitsPerSample, 0, waveFileHeader.FileSize)!=0) return; getchar(); }
https://w.atwiki.jp/zacky/pages/14.html
構造化プログラミング プログラムを「順次・反復・分岐」という3つの構造により記述する方法。 非構造化プログラミング プログラムを「ひと続き」に記述する方法。 goto命令などにより、任意の処理が可能。