
第一种方法: 也可以读取一个不定长的文件。
FILE pFile = fopen( pFilePath, \"r\" );
if ( pFile == NULL )
{
return 0;
}
fseek( pFile, 0, SEEK_END );
iFileLen = ftell( pFile );
rewind( pFile );
m_pFileText = new char[iFileLen+1];
fread( m_pFileText, 1, iFileLen, pFile );
m_pFileText[iFileLen] = 0;
fclose( pFile );
第二种方法:
// 计算字符个数
FILE pFile = fopen( pFilePath, \"r\" );
char ch;
int num = 0;
while ( ch = getc( pFile ) != EOF )
{
num++ ;
}
fclose( pFile );
#include<cstdio>
int main()
{
char s[20];
charp;
printf("please input a string(less than 20 character):\n");
//scanf("%s",s);不能读入空格
gets(s);
p=s;
while(p!='\0')
p++;
printf("The string lenth is%d\n",p-s);
return 0;
}
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
比如:
int a=1234;
printf("a=%d\n",a);
输出结果为a=1234。
扩展资料:
main()函数的可以包括两个参数
第一个参数的类型为int型;
第二个参数为字符串数组。
通常情况下,将第一个参数命名为argc,第二个参数为argv(当然参数名字可以换)。由于字符串数组有两种表达方式,因此,main函数存在两种书写方法:
1、形式一:
int main(int argc,charargv[])//这里使用charargv[]
{
return 0;
}
2、形式二:
int main(int argc,charargv)//这里使用charargv
{
return 0;
}
使用方法
参数的含义
int argc:表示字符串的数量argc=1+用户输入的字符串数目, *** 作系统负责计算数量,程序员不用管,只需要正确使用即可,例如用户输入2个字符串,argc=1+2=3;
charargv[]:字符串的数组,即多个字符串,形式如下:
argv[0]=可执行文件名称,例如testexe(非用户输入, *** 作系统根据可执行文件名称自动生成)
argv[1]=字符串1
argv[2]=字符串2
argv[3]=字符串3
C语言中字符串长度的函数是strlen(),一个字符的长度为1;
函数原型:
unsigned int strlen (char s);头文件:
#include <stringh>参数说明:s为指定的字符串;
功能说明:strlen()用来计算指定的字符串s 的长度,不包括结束字符'\0';
返回值:返回字符串s 的字符数;
注意:strlen() 函数计算的是字符串的实际长度,遇到第一个'\0'结束。
示例:
#include<stdioh>#include<stringh>int main(){ char str[] = "ab\nxyz";//\n为回车字符,占一个字节 printf("strlen(str)=%d\n", strlen(str)); return 0;}//输出结果:strlen(str)=6 收起
在头文件位置写
#include<stringh>
然后在后面用b=strlen(a);
b是一个int型的变量 a是字符串或者字符数组得首地址,也就是名字比如a[20],
你好
应该这样理解
首先,就c语言来讲,字符串的实现一般使用数组,例如
char
s[]
=
"hello";
hello里面有五个字符
分别是
h
e
l
l
o
由于c语言规定在存放字符串的数组里要以字符串结束符来结束
也就是‘\0’
所以上面定义中的数组s长度为字符总个数5
加上一个结束符‘\0’
也就是6
那么
字符串的长度就是5
但该数组s的长度就是6
至于通俗的数组长度,应该就指数组里面可存放元素的个数
例如char
s[100]
=
"hello";
虽然字符串s的长度为5
但这时数组长度就为100
希望能明白
我的方法和楼上的大同小异用指针法:#include "stdioh"
void main()
{char str[128];<br> char p;<br> int count=0;<br> p=str;<br> gets(str);<br> while(p++!='\0')<br> count++;<br> printf("%d",count);<br>}非指针法(这个方法是调用系统函数,比之自己写的函数简单明了):#include "stdioh"
#include "stringh"
void main()
{char str[128];<br> gets(str);<br> printf("%d",strlen(str));<br> }
以上就是关于用纯C语言取得文件长度全部的内容,包括:用纯C语言取得文件长度、c语言计算字符串的长度(用指针)、c语言求字符串长度,的函数理解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)