java 读文件比c,C语言 File文件处理 读文件

1、读文件

要使用C语言读取文件,可以使用size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream),此方法返回成功读取的元素总数会以 size_t 对象返回,size_t 对象是一个整型数据类型。如果总数与 nmemb 参数不同,则可能发生了一个错误或者到达了文件末尾。

例如,#include

#define nmemb 3

struct test

{

char name[20];

int size;

} s[nmemb];

int main(){

FILE * stream;

int i;

stream = fopen("/tmp/fwrite","r");

fread(s,sizeof(struct test),nmemb,stream);

fclose(stream);

for(i=0;i

printf("name[%d]=%-20s:size[%d]=%d\n",i,s[i].name,i,s[i].size);

}

文件读取还有其它函数,可以参考下面的文档,

相关函数:

2、获取文件信息

要获取有关文件的更多信息,可以使用int fstat(int fildes, struct stat *buf);函数。

stat文件信息结构体:struct stat {

dev_t st_dev; /* device */

ino_t st_ino; /* inode */

mode_t st_mode; /* protection */

nlink_t st_nlink; /* number of hard links */

uid_t st_uid; /* user ID of owner */

gid_t st_gid; /* group ID of owner */

dev_t st_rdev; /* device type (if inode device) */

off_t st_size; /* total size, in bytes */

blksize_t st_blksize; /* blocksize for filesystem I/O */

blkcnt_t st_blocks; /* number of blocks allocated */

time_t st_atime; /* time of last access */

time_t st_mtime; /* time of last modification */

time_t st_ctime; /* time of last change */

};

例如,#include

#include

#include

#include

#include

#include

int main ( int argc, char *argv[])

{

struct stat FileAttrib;

if (stat("/etc/passwd", &FileAttrib) < 0)

printf("File Error Message = %s\n", strerror(errno));

else

printf( "Permissions: %d\n", FileAttrib.st_mode );

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用C语言获取文本文件的行数,可以使用以下代码示例中的其中一种方法: 方法一: ```c #include<stdio.h> #include<stdlib.h> int main() { int line_count = 0; char ch; FILE *file; file = fopen("record.txt", "r"); if (file == NULL) { printf("无法打开文件\n"); exit(1); } while ((ch = fgetc(file)) != EOF) { if (ch == '\n') { line_count++; } } printf("该文件中的行数为:%d\n", line_count); fclose(file); return 0; } ``` 在这个方法中,我们打开待统计行数的文件并逐个取字符。每当我们遇到一个换行符('\n')时,行数就增加1。最后,我们输出行数。 方法二: ```c #include<stdio.h> #include<stdlib.h> #include<string.h> int main() { int line_count = 0; char file_name<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [统计txt文件中的行数——C语言设计](https://blog.csdn.net/m0_64316589/article/details/124375207)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [【C语言编程】统计一个文本文件的行数](https://blog.csdn.net/yyyjyou/article/details/21938815)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Java与C语言混合开发技术](https://download.csdn.net/download/milk416666/88249349)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值