C语言如何读文件指定的字节,有哪些库函数int fseek(
FILE *stream,
long offset,
int origin
);
stream 文件指针.offset 从第三个参数origin开始计算的偏移字节数origin 初始位置必须为STDIO.H中定义的以下值之一: SEEK_CUR 文件指针的当前位置.SEEK_END 文件末尾.SEEK_SET 文件开头./SPAN/dd如果成功, fseek 返回0. 否则返回非零值.使用这个函数定位后c语言文本字节数函数,c语言文本字节数函数你就可以取到你想要位置的字节了 。以上是我从MSDN上翻译过来的 。
c代码中如何获取一个文件的字节数~~用以下的方法可以获取一个文件的字节数c语言文本字节数函数:
先用fopen打开文件,然后把文件指针指向文件尾.
再用ftell获得文件指针当前位置(即文件长度).
源代码c语言文本字节数函数:
#include "stdafx.h"
#include stdio.h
#include iostream
using namespace std;
int main()
{
FILE* fp = NULL;
int nFileLen = 0;
fp = fopen("c:/Test.txt", "rb");
if (fp == NULL)
{
cout"can't open file"endl;
return 0;
}
fseek(fp,0,SEEK_END); //定位到文件末
nFileLen = ftell(fp); //文件长度
cout"file len = "nFileLenendl;
return 0;
}
可以用 stat (win 下 _stat)函数直接得文件尺寸 。
man 2 stat
1.MFC中的方法:(C)
【c语言文本字节数函数 c语言基础知识字节】CFileStatus status;
CFile::GetStatus("D:\\test.txt",status);
long lSizeOfFile;
lSizeOfFile = status.m_size;
lSizeOfFile的值就是D:\\test.txt文件的大小
2.标准C获得文件大小的5种方法
(注意:"__FILE__"指的是当前文件c语言文本字节数函数,你可以改为有效路径的目标文件,比如"D:\\test.txt")
struct stat {
dev_t st_dev; /* ID of device containing file */
ino_t st_ino; /* inode number */
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 ID (if special file) */
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 status change */
}
#include "stdafx.h"
#include "stdio.h"
#include sys/stat.h
#include io.h
#include FCNTL.H
int getfilesize()
{
int iresult;
struct _stat buf;
iresult = _stat(__FILE__,buf);
if(iresult == 0)
{
return buf.st_size;
}
return NULL;
}
int getfilesize01()
{
int fp;
fp=_open(__FILE__,_O_RDONLY);
if(fp==-1)
return NULL;
return _filelength(fp);
//return NULL;
}
int getfilesize02()
{
int fp;
fp=_open(__FILE__,_O_RDONLY);
if(fp==-1)
return NULL;
return _lseek(fp,0,SEEK_END);
//return NULL;
}
int getfilesize03()
{
int fp;
fp=_open(__FILE__,_O_RDONLY);
if(fp==-1)
return NULL;
return _lseek(fp,0,SEEK_END);
//return NULL;
}
int getfilesize04()
{
FILE *fp;
if((fp=fopen(__FILE__,"r"))==NULL)
return 0;
fseek(fp,0,SEEK_END);
return ftell(fp); //return NULL;
}
int getfilesize05()
{
FILE *fp;
char str[1];
if((fp=fopen(__FILE__,"rb"))==NULL)
return 0;
for(int i = 0;!feof(fp);i)
{
fread(str,1,1,fp);
}
return i - 1; //return NULL;
}
int main(int argc, char* argv[])
{
printf("getfilesize()=%d\n",getfilesize());
printf("getfilesize01()=%d\n",getfilesize01());
printf("getfilesize02()=%d\n",getfilesize02());
printf("getfilesize03()=%d\n",getfilesize03());
printf("getfilesize04()=%d\n",getfilesize04());
printf("getfilesize05()=%d\n",getfilesize05());
return 0;
}
c语言编程 已知字符串,根据函数计算其字节数如果是计算字符串的字节数的话,可以用sizeof来算,如果是要算长度的话,可以用strlen来算,这个函数要包含头文件string.h
c语言字符长度函数正确的答案是5,题目选项有误 。
首先strlen()函数返回的长度是不包含'\0',
第一个字符为:a
第二个字符为:b
第三个字符为:\n (换行符)
第四个字符为:2
第五个字符为:\ (\\转义为\)
所以答案为5 。
(下图为实际代码演示)
扩展内容:
strlen()函数(C语言函数):
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止 , 然后返回计数器值(长度不包含'\0') 。
参考资料:strlen函数 - 百科
C语言中如何输出字节数a)putchar函数:将指定的(表达式的值所对应的)字符输出到标准输出终端(屏幕)上 。
格式:int putchar( int c );
例如:putchar(‘a’ 3);打印的结果是d , 是一个字符而不是数值 。
a的ASCII码是97,加3是ASCII码表中100对应的字符就是d 。
例如:putchar(99);打印的结果是c,代入一个数字打印出的是一个字符 。
就如同代入的是学号,打印出来的是姓名一样 。
b)putc函数:将指定的字符输出到指定标准输出流(屏幕或一个文件)中 。
格式:int putc( int c, FILE *stream );
c)等价关系:putc的功能中包含putchar的功能 。
putchar(c)等价于putc(c,stdout) 。
例如:putc(‘A’,stdout)等价于putchar(‘A’)
扩展资料
C语言的字符对齐
1、数据类型自身的对齐值:对于char型数据,其自身对齐值为1,对于short型为2,对于int,float,double类型,其自身对齐值为4 , 单位字节 。
2、复杂类型(如联合,结构体或者类)的自身对齐值:其成员中自身对齐值最大的那个值 。
3、指定对齐值:#pragma pack (value)时的指定对齐值value 。
4、数据成员、复杂类型(如联合,结构体或类)的有效对齐值:自身对齐值和指定对齐值中小的那个值 。
参考资料来源:百度百科—c语言
C语言 strlen 函数求字节数 例如输入“how are you” 包括空格吗 矛盾?。?/h2>包括空格的 。strlen 假定字符串结束符是 "\0", 但总长度不计入"\0"这个字符 。
char s[]=" how are you";
printf("%d",strlen(s));// 含字符串和空白个数
----
输入语句:
scanf("%s",s);
拍入how are you,s 只读到how. 因为默认 空白 是分隔符 。
printf("%d",strlen(s));打出 3
关于c语言文本字节数函数和c语言基础知识字节的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- cocoachina游戏开发,coco游戏公司
- 营销如何转行品牌营销工作,营销转换
- 2013vsASP.net数据库,数据库2014
- 晚上卖什么直播最好挣钱,晚上直播什么内容好
- php将值传到数据库 php怎样把数据传给前端
- oracle咋安装,oracle10怎么安装
- 电脑为什么红了,电脑为什么会红屏?
- 如何查python库函数 python如何查看库的用法
- 公众号餐饮排版怎么做,餐饮公众号内容模板