因此,我有一個包含數據的大文本文件,我想重新排列它。數據每行都有整數和浮點數組合,但我只想抓取第一個整數,它是1或0,並將其放在行尾。從文件中讀取數據C
例如,在我的數據文件,我有以下行
1 0.41 1 44
,我想是
0.41 1 44 1
這是我到目前爲止並不能得到它的工作對。謝謝。
void main() {
FILE *fp;
FILE *out;
char str[15];
char temp;
fp = fopen("dust.txt", "r+");
out = fopen("dust.dat", "w");
while(fgets(str, sizeof(str), fp) != NULL) {
temp = str[0];
str[strlen(str)] = ' ';
str[strlen(str)+1] = temp;
str[strlen(str)+2] = '\r';
str[strlen(str)+3] = '\n';
fwrite(str, 1, strlen(str), out);
}
fclose(fp);
fclose(out);
}
你也可能想檢查由fgets返回的str的大小,因爲你嘗試訪問長度+ 3 – ponayz
不要忽視'fgets'保留的'newline'。 –