當前位置:首頁 » 編程語言 » c語言讀取文件長度
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言讀取文件長度

發布時間: 2022-01-17 14:32:21

c語言讀寫文件,文件名長度有限制嗎

以前dos時代文件名是有限制的,所謂的8.3格式
即文件名最多8個字元,擴展名最多3個字元
win95後可以很長了
可能是編譯器問題。我猜你用的是tc吧?dos下的16位編譯器。可能不支持長文件名。
我在g++編譯器下試了,可以成功。

㈡ 用純C語言取得文件長度

size是要讀取的位元組個數,一般用sizeof()來定義nitems是要讀取的元素個數,也就是讀取多少個sizeof()位元組個數

㈢ 【C語言】計算文件長度,把文件內容讀取到內存中

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
main ()
{
string str;
ifstream f1 ( "1.txt" );
if (f1.fail())
{
cerr<<"open failure on 1.txt"<<endl;
return 1;
}
ifstream f2 ( "2.txt" );
if (f2.fail())
{
cerr<<"open failure on 2.txt"<<endl;
return 1;
}
ofstream out ( "3.txt" );
if (out.fail())
{
cerr<<"open failure on 3.txt"<<endl;
return 1;
}
while ( getline (f1, str))
{
out<<str<<endl;
}
while ( getline (f2,str))
{
out<<str<<endl;
}
f1.close();
f2.close();
out.close ();
return 0;
}
可以參照這個試試

㈣ C語言中如何方便地得到文件長度

xdg1981的方法對大多數文件有效
alexzhu80s的方法調用的是unix的函數,不是標准庫中的。不是每種操作系統都有stat函數。

沒有100%正確的方法,xdg1981的方法成功率最高。
你最好根據你所用的操作系統來調用操作系統提供的介面。例如unix的stat及windows的GetFileSize

㈤ C語言 文本文件長度

long get_file_size( FILE* fp )
{
if (fp==NULL) return -1;
fseek( fp, 0L, SEEK_END );
return ftell(fp);
}

㈥ C語言中 怎樣讀取一個文本文檔中的特定位置的特定長度的字元

你的這個result是什麼?應該是個文件吧.
編寫這樣的程序主要用到(1)fopen函數,用於打開文件,返回一個文件指針,fwrite函數,寫入文件(也就是你要的result文件),及fclose函數,文件操作完時要關閉文件指針.(2)fseek函數,用於文件指針的定位,也就是將文件指針放到你要操作的文件中的某個位置.(3)然後用的就是fread函數,用於讀取一塊數據,你可以指定數據的長度,沒有什麼技術可言的,自己查一下這幾個函數的原型就會明白了.

㈦ c語言如何通過文件屬性獲取文件大小

在"stdio.h"中有如下定義

struct_iobuf{
char*_ptr;//文件輸入的下一個位置
int_cnt;//當前緩沖區的相對位置
char*_base;//指基礎位置(即是文件的其始位置)
int_flag;//文件標志
int_file;//文件的有效性驗證
int_charbuf;//檢查緩沖區狀況,如果無緩沖區則不讀取
int_bufsiz;//文件的大小
char*_tmpfname;//臨時文件名
};
typedefstruct_iobufFILE;

㈧ C語言中如何獲取數據長度

C語言中字元串有一個結束符'\0',一個正常的字元串的最後一個字元都是'\0',在你定義一個常量字元串時就自動幫你加上去了,比如"abc"其實有4個字元{'a', 'b', 'c', '\0'},最後一個'\0'表示字元串到這就結束了,以防止內存讀取越界,同時也以此來計算字元串長度,而不是再傳一個int參數表示字元串的長度。因此a在內存中長度為6,但由於最後一個字元'\0'只是結束符,所有一般說長度時會忽略掉最後一個字元
string.h中提供了strlen函數可以方便地計算字元串的長度,不過注意strlen返回值的類型為size_t,x64下定義為uint64_t,x86下為uint32_t,所以記得進行類型轉換
第一種:調用C庫函數strlen(頭文件<string.h>)
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char *a = "\x12\x00\x11\x00\x00";

printf("%d\r\n", (int)strlen(a));

return 0;
}
第二種:手動計算長度
#include <stdio.h>
int main(int argc, char *argv[])
{
char *a = "\x12\x00\x11\x00\x00";

char* p = a;

while ('\0' != *p)
{
p++;
}
printf("%d\r\n", (int)(p - a));
return 0;
}

㈨ c語言求文件長度,ftell得到文件長度為-1

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;/*字元串結束標志*/


all:strchange.o
gcc-ostrchange.o-cstrchange.c
strchange.o:strchange.c
gcc-ostrchangestrchange.o
clean:
rm-rfstrchange*.o