-
大小: 1.42MB文件類型: .gz金幣: 1下載: 0 次發布日期: 2023-10-26
- 語言: 其他
- 標簽: yasm-1.3.0??
資源簡介
yasm-1.3.0.tar.gz
代碼片段和文件信息
/*
?*
?*?Generate?array-of-const-string?from?text?file.
?*
?*??Copyright?(C)?2006-2007??Peter?Johnson
?*
?*?Redistribution?and?use?in?source?and?binary?forms?with?or?without
?*?modification?are?permitted?provided?that?the?following?conditions
?*?are?met:
?*?1.?Redistributions?of?source?code?must?retain?the?above?copyright
?*????notice?this?list?of?conditions?and?the?following?disclaimer.
?*?2.?Redistributions?in?binary?form?must?reproduce?the?above?copyright
?*????notice?this?list?of?conditions?and?the?following?disclaimer?in?the
?*????documentation?and/or?other?materials?provided?with?the?distribution.
?*
?*?THIS?SOFTWARE?IS?PROVIDED?BY?THE?AUTHOR?AND?OTHER?CONTRIBUTORS?‘‘AS?IS‘‘
?*?AND?ANY?EXPRESS?OR?IMPLIED?WARRANTIES?INCLUDING?BUT?NOT?LIMITED?TO?THE
?*?IMPLIED?WARRANTIES?OF?MERCHANTABILITY?AND?FITNESS?FOR?A?PARTICULAR?PURPOSE
?*?ARE?DISCLAIMED.??IN?NO?EVENT?SHALL?THE?AUTHOR?OR?OTHER?CONTRIBUTORS?BE
?*?LIABLE?FOR?ANY?DIRECT?INDIRECT?INCIDENTAL?SPECIAL?EXEMPLARY?OR
?*?CONSEQUENTIAL?DAMAGES?(INCLUDING?BUT?NOT?LIMITED?TO?PROCUREMENT?OF
?*?SUBSTITUTE?GOODS?OR?SERVICES;?LOSS?OF?USE?DATA?OR?PROFITS;?OR?BUSINESS
?*?INTERRUPTION)?HOWEVER?CAUSED?AND?ON?ANY?THEORY?OF?LIABILITY?WHETHER?IN
?*?CONTRACT?STRICT?LIABILITY?OR?TORT?(INCLUDING?NEGLIGENCE?OR?OTHERWISE)
?*?ARISING?IN?ANY?WAY?OUT?OF?THE?USE?OF?THIS?SOFTWARE?EVEN?IF?ADVISED?OF?THE
?*?POSSIBILITY?OF?SUCH?DAMAGE.
?*/
#include?
#include?
#include?
#define?MAXLINE?1024
int
main(int?argc?char?*argv[])
{
????FILE?*in?*out;
????int?i;
????char?*str;
????char?*strp;
????size_t?len;
????if?(argc?4)?{
????????fprintf(stderr?“Usage:?%s????[?...]\n“
????????????????argv[0]);
????????return?EXIT_FAILURE;
????}
????out?=?fopen(argv[2]?“wt“);
????if?(!out)?{
????????fprintf(stderr?“Could?not?open?‘%s‘.\n“?argv[2]);
????????return?EXIT_FAILURE;
????}
????str?=?malloc(MAXLINE);
????fprintf(out?“/*?This?file?auto-generated?from?%s?by?genstring.c“
?????????????????“?-?don‘t?edit?it?*/\n\n“
?????????????????“static?const?char?*%s[]?=?{\n“?argv[3]?argv[1]);
????for?(i=3;?i ????????in?=?fopen(argv[i]?“rt“);
????????if?(!in)?{
????????????fprintf(stderr?“Could?not?open?‘%s‘.\n“?argv[i]);
????????????fclose(out);
????????????remove(argv[2]);
????????????return?EXIT_FAILURE;
????????}
????????while?(fgets(str?MAXLINE?in))?{
????????????strp?=?str;
????????????/*?strip?off?trailing?whitespace?*/
????????????len?=?strlen(strp);
????????????while?(len?>?0?&&?(strp[len-1]?==?‘?‘?||?strp[len-1]?==?‘\t‘?||
???????????????????????????????strp[len-1]?==?‘\n‘))?{
????????????????strp[len-1]?=?‘\0‘;
????????????????len--;
????????????}
????????????/*?output?as?string?to?output?file?*/
????????????fprintf(out?“????\““);
????????????while?(*strp?!=?‘\0‘)?{
????????????????if?(*strp?==?‘\\‘?||?*strp?==?‘“‘)
????????????????????fputc(‘\\‘?out);
????????????????fputc(*strp?out);
????????????????strp++;
????????????}
??
- 上一篇:現代數學引論.pdf
- 下一篇:PCS7 CFC常用功能與操作總結
評論
共有 條評論