#include<stdio.h> #include<stdlib.h> #define MAX 41 static int i=0; int main(void) { FILE *fp; char words[MAX]; if((fp=fopen("words","a+"))==NULL) { fprintf(stdout,"Can't open /" word/" file/n"); exit(1); } puts("Enter words to add to the file,press the enter."); puts("Key at the begining of a line to terminate."); while(gets(words)!=NULL&&words[0]!='/0') { fprintf(fp,"%s",words); i++; } rewind(fp); while(fscanf(fp,"%s",words)==1) { puts(words); } if(fclose(fp)!=0) { fprintf(stderr,"Error closing file./n"); } return 0; }
#include<stdio.h> #include<stdlib.h> #define MAX 2000 int main(void) { FILE *fp; char words[MAX]; int wordct=0; if((fp=fopen("words","a+"))==NULL) { fprintf(stderr,"Can't open /" word/" file/n"); exit(1); } rewind(fp); while (fgets(words, MAX - 1, fp) != NULL) wordct++; rewind(fp); puts("Enter words to add to the file,press the enter."); puts("Key at the begining of a line to terminate."); while(gets(words)!=NULL&&words[0]!='/0') { fprintf(fp,"%d:%s",++wordct,words); } puts("File contents:"); rewind(fp); while(fgets(words,MAX-1,fp)!=NULL) { fputs(words,stdout); } if(fclose(fp)!=0) { fprintf(stderr,"Error closing file./n"); } return 0; }
/*文件名由用戶輸入,建立一個循環,讓用戶輸入文件位置, 則打印位置到下一個換行符之間的字符,當輸入非數字字符時退出*/ #include<stdio.h> #include<stdlib.h> #include<ctype.h> #define MAX 41 int main(void) { FILE *fp; char ch; char file[MAX]; long address; puts("請輸入文件名"); gets(file); if((fp=fopen(file,"rb"))==NULL) { fprintf(stderr,"Can't open the %s/n",file); exit(1); } printf("請輸入一個文件位置/n"); while(1) { scanf("%ld",&address); if(isdigit(address)) { break; } fseek(fp,address,SEEK_SET); while((ch=getc(fp))!='/n' && (ch=getc(fp))!=EOF) { putchar(ch); } putchar('/n'); printf("請輸入一個文件位置/n"); } fclose(fp); puts("Bye!"); return 0; }
#include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX 256 int main(int argc, char *argv[]) { FILE *fp; char line[MAX]; if(argc!=3) { printf("Usage:%s filename",argv[0]); exit(1); } if((fp=fopen(argv[2],"r"))==NULL) { fprintf(stderr,"Can't open the %s",argv[2]); exit(1); } while(fgets(line,MAX-1,fp)!=NULL) { if(strstr(line, argv[1])!=NULL) { fputs(line,stdout); } } fclose(fp); return 0; }
#include<stdio.h> #include<stdlib.h> #define ROW 20 #define COL 30 #define LEVELS 10 const char trans[LEVELS + 1] = " .':~*=&%@"; void init(char arr[][COL],char ch); void MakePic(int data[][COL],char pic[][COL],int row); int main(void) { FILE *fp; int row,col; char txt[20]="1312.txt"; int picIn[ROW][COL]; char picOut[ROW][COL]; init(picOut,'S'); if((fp=fopen(txt,"r"))==NULL) { fprintf(stderr,"Can't open the %s",txt); exit(1); } for(row=0;row<ROW;row++) { for(col=0;col<COL;col++) { fscanf(fp,"%d",&picIn[row][col]); } } if (ferror(fp)) { fprintf(stderr, "Error getting data from file./n"); exit(EXIT_FAILURE); } MakePic(picIn, picOut, ROW); for(row=0;row<ROW;row++) { for(col=0;col<COL;col++) { putchar(picOut[row][col]); } putchar('/n'); } return 0; } void init(char arr[][COL],char ch) { int r,c; for(r=0;r<ROW;r++) { for(c=0;c<COL;c++) { arr[r][c]=ch; } } } void MakePic(int data[][COL],char pic[][COL],int row) { int rows,cols; for(rows=0;rows<row;rows++) { for(cols=0;cols<COL;cols++) { pic[rows][cols]=trans[data[rows][cols]]; } } }
一、文件屬性 下文中,“文件”一詞默認代指廣義的數據類型,跟“目錄”等詞對比使用時,則專指普通文件(File)這一特定數據類型。 Linux系統中,我們可以使用命令“ls -al”來查看當前目錄
要將Git中的一個文件恢復到之前的版本,你可以使用git checkout命令結合特定的提交哈希值(commit hash)或引用(如HEAD~1)來檢出該文件的特定版本。 以下是如何操作的步驟: 查看文件的歷史: 首先,你可以使用gi
JSON簡介: JSON(Java Script Object Notation)是一種輕量級的數據交換格式,通常用於在不同系統之間傳輸數據。它基於 JavaScript 對象語法,但已成爲一種獨立於語言的格式。JSON 數據以鍵值對的形式
一、簡單介紹: CaffeineCache和Guava的Cache是應用廣泛的本地緩存。 在開發中,爲了達到降低依賴、提高訪問速度的目的。會使用它存儲一些維表接口的返回值和數據庫查詢結果,在有些場景下也會在分佈式緩存上再加上一層本地緩存,
作者:vivo 互聯網大前端團隊 - Ma Lian 本文主要描述了FileProvider,startAnyWhere實現,Parcel不對稱漏洞以及這三者結合產生的漏洞利用實戰,另外闡述了漏洞利用的影響和修復預防措施,這個漏洞波及了
本文分享自華爲雲社區《GaussDB SQL基本語法示例-CASE表達式》,作者:Gauss松鼠會小助手2。 一、前言 SQL是用於訪問和處理數據庫的標準計算機語言。GaussDB支持SQL標準(默認支持SQL2、SQL3和SQL4的主要
Impala目前支持Hadoop中幾種常見的文件格式 Parquet 、 ORC 、 Text 、 Avro 、 RCFile 和 SequenceFile 。下面簡要說明各種格式的使用、限制和一些注意事項。 不同的文件格式有着不同的適用場
本文分享自華爲雲社區《GaussDB SQL基礎語法示例-BOOLEAN表達式》,作者:Gauss松鼠會小助手2。 一、前言 SQL是用於訪問和處理數據庫的標準計算機語言。GaussDB支持的SQL標準(默認支持SQL2、SQL3和SQL
Map是用於保存具有映射關係的數據集合,它具有雙列存儲的特點,即一次必須添加兩個元素,即一組鍵值對<Key,Value>,其中Key的值不可重複(當Key的值重複的時候,後面插入的對象會將之前插入的具有相同的Key值的對象覆蓋掉),Valu
前端面試題 - null是原始類型,但爲什麼typeof null的結果是object? 造成這個結果的原因是null的內存地址是以000開頭,而js會將000開頭的內存地址視爲object。 通過isNull()來判斷一個值是不是null
DHTMLX Suite UI 組件庫允許您更快地構建跨平臺、跨瀏覽器 Web 和移動應用程序。它包括一組豐富的即用式 HTML5 組件,這些組件可以輕鬆組合到單個應用程序界面中。 DHTMLX Gantt是用於跨瀏覽器和跨平臺應用程序的功
本文分享自華爲雲社區《GaussDB(DWS)向量化執行引擎詳解》,作者: yd_212508532。 前言 適用版本:【基線功能】 傳統的行執行引擎大多采用一次一元組的執行模式,這樣在執行過程中CPU大部分時間並沒有用來處理數據,更
SpringBoot如何優雅的進行參數校驗 一.爲什麼要進行參數校驗 在日常的開發過程中,我們常常需要對傳入的參數進行校驗,比如在web前後端分離項目中,參數校驗有兩個方面: 前端進行參數校驗 後端進行參數校驗 那這兩種
結構特點 List 和 Set 是存儲單列數據的集合,Map 是存儲鍵和值這樣的雙列數據的集合;List 中存儲的數據是有順序,並且允許重複;Map 中存儲的數據是沒有順序的,其鍵是不能重複的,它的值是可以有重複的,Set 中存儲的數據
本文分享自華爲雲社區《Spring高手之路17——動態代理的藝術與實踐》,作者: 磚業洋__。 1. 背景 動態代理是一種強大的設計模式,它允許開發者在運行時創建代理對象,用於攔截對真實對象的方法調用。這種技術在實現面向切面編程(AOP)