【发布时间】:2018-03-27 04:43:06
【问题描述】:
这是我到目前为止得到的,但我实际上并没有写在文件上。我认为我没有正确使用 fwrite()
typedef struct t_directory {
int index;
char nombre[255];
int padre;
}t_directory;
int main(void) {
t_directory* tabla[100];
int i;
for(i=0; i<100;i++){
tabla[i] = malloc(sizeof(struct t_directory));
tabla[i]->index = 0;
sprintf(tabla[i]->nombre, "");
tabla[i]->padre = 0;
}
tabla[0]->index = 0;
sprintf(tabla[0]->nombre, "root");
tabla[0]->padre= -1;
tabla[1]->index = 1;
sprintf(tabla[1]->nombre, "user");
tabla[1]->padre= 0;
FILE * file= fopen("directorios.txt", "wb");
if (file != NULL) {
fwrite(tabla[0], sizeof(struct t_directory), sizeof(struct t_directory), file);
for(i=1;i<100;i++){
if(tabla[i]->index != 0){
fwrite(tabla[i], sizeof(struct t_directory), sizeof(struct t_directory), file);
}
}
fclose(file);
}
我应该怎么做?
【问题讨论】:
-
不要在 C 中使用更合适的语言。
-
fwite(data,size_of_one_piece, count_of_pieces, file)你第三个参数用错了 -
@BensaysNotoPoliticsonSO 很遗憾我必须使用 C
-
@JacekCz 不,已经尝试将其更改为硬编码的 1 和 3,我得到了相同的结果