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樓:匿名使用者
直接讀就可以了
比如說scanf("%f ,%f ,%f", &f1, &f2, &f3); // %f後面加個空格再加個逗號
或者迴圈也可以的
while(scanf("%f ,", &farray[***]))
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樓:匿名使用者
使用正規表示式
fscanf(fp,"%*[^0-9]%d",&a[i]);
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語言,如何讀取逗號分隔的字串,將逗號間的字串分別提取出
小李柏 省略標頭檔案,int mian等。這裡用到std getline using namespace std getline myfile,line,getline讀myfile進string line,第三個變數很有用,定義是讀取字元直到第三格變數被找到 這裡是逗號 如果不定義預設是換行符 n...
C語言中對使用者輸入的讀取
因為你輸入完第一個字元後按了回車鍵,而回車鍵實際上輸入了2個字元,第一個字元被scanf用來確認輸入結束,第2個位元組仍保留在緩衝區內,被第2個scanf讀到了,因此b的值實際上是回車輸入的第2個字元,是個控制字元,不可見.以後注意了,在scanf c getchar之類輸入字元的語句前,要加ffl...
c語言如何將變數寫入檔案,C語言中如何從檔案讀取資料並賦值到變數?
多爾安巨集教 原因 使用fopen時引數不正確,你是用 w引數,若檔案存在則檔案長度清為0,即該檔案內容會消失。每次都是重新清空並寫資料,將w修改為a即可.fopen函式說明見下方 file fopen const char path,const char mode 編輯本段 函式說明 引數path...