1樓:
在c語言中,可以使用格式化輸入函式fscnaf來解決上述問題,例如有文字檔案的資料儲存方式為:
12,13
34,56
......
則在fscnaf中可以按如下方法輸入:
fscanf(fp,"%d,%d\n",&a,&b);
2樓:風若遠去何人留
對於這個問題,有兩種解決方案。
一,直接用scanf進行格式化輸入。
滿足以下兩種條件可以用scanf進行輸入:
1 要輸入的資料中不能有空白符號,因為用scanf輸入時空白符號會被忽略。
空白符號包括空格(' '),製表符('\t'),換行符('\n')等。
2 檔案中被分隔開的資料型別是以一定的固定規律出現的。
舉幾個典型的例子供理解。
例一:所有都是都在一行,均為int型且都用逗號分隔
或者即使有換行,那麼換行前最後一個資料後面仍有逗號分隔。
也就是說,任意兩個有效資料之間有且只有一個逗號分隔。
那麼可以迴圈呼叫
scanf("%d,",&v);
來依次把資料讀到v中並處理。
例二:檔案有多行,每行依次為int, double,char的格式,且每行結尾的資料後面沒有逗號。
可以定義
int a;
double b;
char c;
然後迴圈呼叫
scanf("%d,%lf,%c", &a,&b,&c);
再處理a,b,c的值。
二,迴圈讀入單個字元,再處理字串。
此種方法適用於輸入的資料中有空白字元的情況,較為複雜。關鍵**入下:
#include
void read_file(file *fp)//fp 為開啟的可讀檔案的指標
//else if();//這裡不做任何事。如果有什麼需要忽略的字元,可以加在這一行,比如忽略換行,可以加else if(ret == '\n');
else buf[i]++=ret;
if(ret == eof)break;//到檔案結尾退出。}}
3樓:匿名使用者
直接讀就可以了
比如說後面加個空格再加個逗號
或者迴圈也可以的
4樓:匿名使用者
#include
#include
#include
int main()
char vec[255][255] = ;
int i = 0, j = 0;
while (!feof(file))
}fclose(file);
for(int k = 0; k <= i; k++)printf("%s\n", vec[k]);
return 0;}
5樓:**夢幻
每次用fgets讀取整行,然後掃描一遍,看看逗號數量是不是足夠一個完整結構體了。
如果不夠,繼續fgets,注意要讀取到上一次fgets內容的末尾。然後再度檢查逗號數量。
如果逗號數量夠了(也就是內容已經足夠一個結構體了),先去掉換行符。
然後每次先用strchr找到下一個逗號,再用strncpy將當前位置到下一個逗號的內容拷貝到結構體相應成員變數中。
讀完當前結構體後,用memmove將未處理的內容前移到緩衝區開頭。
6樓:滄海雄風
很簡單最少10分鐘解決 剛才解決了個類似的問題
c語言怎麼讀取檔案中以逗號為分隔符的一組數,並將其存入陣列(txt檔案中的數為1,2,3,4,5)
7樓:匿名使用者
使用正規表示式
c語言從txt檔案中讀取多行用逗號分隔資料,儲存在陣列a[i] 5
8樓:匿名使用者
用fgets()結合sscanf("%s,"&a[i] );來讀取資料
或直接用fscanf("%s,"&a[i] );函式來讀取資料即可!
9樓:junior幽靈
別聽最快回答 他的程式不會處理輸入的個數
這道題說白了就是處理逗號
#include
using namespace std;
int a[2013];
int x;
int i=1;
int main()
return 0;}
C語言中對使用者輸入的讀取
因為你輸入完第一個字元後按了回車鍵,而回車鍵實際上輸入了2個字元,第一個字元被scanf用來確認輸入結束,第2個位元組仍保留在緩衝區內,被第2個scanf讀到了,因此b的值實際上是回車輸入的第2個字元,是個控制字元,不可見.以後注意了,在scanf c getchar之類輸入字元的語句前,要加ffl...
C語言中如何讀取檔案中的漢字並將其存入陣列中
為了方便文字檔案的操作,標準函式程式設計庫提供了,行讀寫函式,char gets char s char fgets char s,int n,file stream 精通unix下c語言程式設計與專案實踐p66 行輸出函式族 int puts const char s int fputs cons...
C語言中如何判斷數的位數,C語言中如何判斷一個數的位數?
h愛不絕跡 include void main void num int a printf d位的,逆序數 ld n i,b 具體如下 1 簡介c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯 處理低階儲存器 產生少量的機器碼以及不需要任何執行環境支援便能執行的...