A. c語言中的改變文件大小的函數
C語言雖然沒有這類的函數,但是您完全可以使用File類文件操作來重新打開一個文件進行寫入,該文件被徹底清空了。微軟MSDN上有此類例子: FILE * fopen (const char * filename, const char * mode);
Mode:"w "
Create an empty file for writing. If a file with the same name already exists its content is erased.
B. 怎麼用C語言里函數轉換大小寫
函數名:
tolower
功
能:
把字元轉換成小寫字母
用
法:
int
tolower(int
c);
程序例:
#include
#include
#include
int
main(void)
{
int
length,
i;
char
*string
=
"THIS
IS
A
STRING";
length
=
strlen(string);
for
(i=0;
i
{
string[i]
=
tolower(string[i]);
}
printf("%s\n",string);
return
0;
}
函數名:
toupper
功
能:
把字元轉換成大寫字母
用
法:
int
toupper(int
c);
程序例:
#include
#include
#include
int
main(void)
{
int
length,
i;
char
*string
=
"this
is
a
string";
length
=
strlen(string);
for
(i=0;
i
{
string[i]
=
toupper(string[i]);
}
printf("%s\n",string);
return
0;
}
C. c語言比較大小的函數,如何全部比較
如果按你的方法來比較大小,而且是7個數字,也就是a~g,你後面少比較了g,而且最後的j也未必是最大,需要改為:
main()
{
int a,b,c,d,e,f,g,h,j;
scanf("%d%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f,&g); //這里讀到g即可,後面沒用的
a = max(a,b); //不能把g的值覆蓋了,7個數,g還有存儲數據呢
h = max(c,d);
j = max(e,f);
a = max(a,g); //還要和g比較
h = max(a,h); //接著還要比較a和h誰大
j = max(h,j); //這個才是最後結果,最大的一個
printf("abcdef da shi%d",j);
getch();
}
如果要比較大小的數比較多,建議使用數組存儲,用個for循環就搞定了,如下:
#include <stdio.h>
void main()
{
int i, a[7], max = -32768;
for (i = 0; i < 7; i++)
{
scanf ("%d", a[i]);
if (a[i] > max) max = a[i];
}
printf ("max number is %d\n", max);
}
D. 用C語言編寫一個比較兩個整數大小的函數,調用該函數比較從鍵盤輸入的兩個整數,輸
#include<stdio.h>
//返回x,y中較大者
intmax(intx,inty)
{
returnx>y?x:y;
}
intmain()
{
inta,b;
printf("inputtwonumber:");
scanf("%d%d",&a,&b);
printf("max=%d",max(a,b));
return0;
}
E. 單片機C語言中如何做一個函數判斷一個數組的大小
可以在函數中借用sizeof運算符,來獲取數組大小。
1
獲取數組a整體佔用空間可以使用
sizeof(a)
該值為這個數組佔用的總內存值,單位為位元組。
2
獲取數組元素個數可以用
sizeof(a)/sizeof(a[0])
該值為數組開辟的元素個數。
F. 如何用C語言獲取文件的大小
intfile_size(char*filename)
{
FILE*fp=fopen(filename,"r");
if(!fp)return-1;
fseek(fp,0L,SEEK_END);
intsize=ftell(fp);
fclose(fp);
returnsize;
}
(6)c語言中獲取大小函數的使用方法擴展閱讀
C語言獲取文件長度及全部內容
FILE*fp;
fp=fopen("localfile","rb");//localfile文件名
fseek(fp,0L,SEEK_END);/*定位到文件末尾*/
flen=ftell(fp);/*得到文件大小*/
p=(char*)malloc(flen+1);/*根據文件大小動態分配內存空間*/
if(p==NULL)
{
fclose(fp);
return0;
}
fseek(fp,0L,SEEK_SET);/*定位到文件開頭*/
fread(p,flen,1,fp);/*一次性讀取全部文件內容*/
p[flen]=0;/*字元串結束標志*/
G. c語言如何獲得文件的創建時間以及文件的大小(頭文件及所用的函數,最好有用法舉例)
1.MFC中的方法:(C++)
CFileStatus status;
CFile::GetStatus("D:\\test.txt",status);
long lSizeOfFile;
lSizeOfFile = status.m_size;
lSizeOfFile的值就是D:\\test.txt文件的大小
2.標准C獲得文件大小的5種方法
(注意:"__FILE__"指的是當前文件,你可以改為有效路徑的目標文件,比如"D:\\test.txt")
#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;
}
H. C語言sizeof函數如何使用
C語言中的sizeof是一個很有意思的關鍵字,經常有人用不對,搞不清不是什麼。我以前也有用錯的時候,現在寫一寫,也算是提醒一下自己吧。反正現在來看,還在搞sizeof是什麼意思,怎麼用正確,還是有點搞笑,都經常用的東西,沒有理解透徹,就差的太遠了。
一 sizeof是什麼
sizeof是C語言的一種單目操作符,如C語言的其他操作符++、--等,sizeof操作符以位元組形式給出了其操作數的存儲大小。操作數可以是一個表達式或括在括弧內的類型名。這個操作數不好理解對吧?後面慢慢看就明白了。sizeof的返回值是size_t,在64位機器下,被定義為long unsigned int。
二 sizeof如何使用
1、用於數據類型
使用形式: sizeof(type)。其中type如int 、double等。 例如sizeof(int)、sizeof(char*)、sizeof(double)。這個時候sizeof後面的類型必須用括弧()包起來,不包起來是錯誤的,通過不了編譯。其中sizeof(void*)在64位下是8,而sizeof(void)是1。其實,在C語言中sizeof(函數),
如sizeof(main),結果也是1。但是在C++中,sizeof(void)和sizeof(函數)都是非法的,通過不了編譯,後面C++就不說了,現在講C嘛。其實sizeof(函數),sizeof(void)雖然是1,但是是不正確的使用方式。
2、用於變數
使用形式: sizeof(var)或sizeof var。當操作基本數據類型的時候,在我64位電腦的結果如下
作用是:計算常量、變數、數據類型 在內存中佔用的位元組數
三、用sizeof計算常量在內存中佔用的位元組數
sizeof(1) 計算常量 1 在內存中佔用的位元組數 4
1 默認的事一個10進制的整數(int) 4
sizeof(2.3f); 計算 float類型的常量在內存中佔用的位元組數 4
sizeof(2.3); 計算 double 類型的常量在內存中佔用的位元組數 8
sizeof('a'); 計算 'a' 字元常量 在內存中佔用的位元組數 1 4?