在linux系统中,32位机,要打开超大文件(大于4G)并读取其内容用啥函数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在linux系统中,32位机,要打开超大文件(大于4G)并读取其内容用啥函数?相关的知识,希望对你有一定的参考价值。
我用open系列函数打开一个6G的文件时失败,失败提示:value too large for defined data type。求高手指教!
我就是想对超大文件进行操作!不要考虑换个小文件哈。 我想知道怎么对超大文件进行操作!
表头文件 #include<stdlib.h>
定义函数 int atoi(const char *nptr);
函数说明 atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
返回值 返回转换后的整型数。
附加说明 atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。
范例 /* 将字符串a 与字符串b转换成数字后相加*/
#include<stdlib.h>
mian()
char a[]=”-100”;
char b[]=”456”;
int c;
c=atoi(a)+atoi(b);
printf(c=%d\n”,c);
执行 c=356
它在Linux下的Vi编辑器能用 参考技术B 用CC编译的时候在后面加一个选项-D_FILE_OFFSET_BITS=64,支持64位的就可以了,在32位系统上,对>4G的操作都要加这个选项本回答被提问者采纳 参考技术C 你的文件太大了吧。尝试着换个附件试试
实验二 Linux系统简单文件操作命令
实验二 Linux系统简单文件操作命令
1 实验目的
学习在Linux系统终端下进行命令行操作
掌握常用命令行操作并能通过命令行操作解决简单问题
2 实验内容
首先要打开终端
大家在自己的系统中找到一个自己习惯的方式打开就可以了,但是也要了解常用打开终端的方式,因为
你有可能在别人的机器上进行操作。
(1)查看当前目录
pwd #显示用户当前工作目录
(2)在用户主目录(家目录)下面创建一个以自己学号命名的目录并查看是否创
建成功
mkdir #创建新的目录
ls # 列出当前目录下的内容
(3)进入以自己学号命名的目录,查看当前目录,然后创建以自己姓名拼音命名
的目录
cd #更改用户当前工作目录
注:如果姓名为两个字或者有拼音相同的,在拼音结尾加1,2,3以示区别,创建三个目录就可以了
如:
张三就用 zhang san1 san2
李冰冰就用 li bing1 bing2
(4)在当前目录的第一个子目录创建一个文件并命名为a.txt
注:在列出当前目录下内容是从左到右我们分别标记为第一个子目录、第二个子目录、第三个子目录
touch run/a.txt
(5)进入当前目录的第一个子目录,然后显示当前目录,并列出当前目录的内
容,并向文件a.txt写入一个字符串Hello World
echo
cat a.txt
(6)返回自己学号命名的目录,查看tree命令是否可以使用,不能使用的话,安
装tree,安装成功后使用该命令
sudo yum install tree ###这是CentOS系统终端安装tree的命令
sudo apt install tree ###这是Ubuntu系统终端安装tree的命令
(7)把当前目录的第一个子目录中文件a.txt复制到第二个子目录中,然后再次把
第一个子目录中的a.txt复制到第三个子目录并命名为b.txt,最后把第一个子目录
中文件a.txt重命名为c.txt。通过tree命令查看当前目录情况。
cp run/a.txt wu/
##也可以写成下面的
cp ./run/a.txt ./wu/
cp run/a.txt xiao/b.txt
(8)把/etc目录下面的文件passwd复制到自己学号命名的文件夹下。
cp /etc/passwd ./ ##
cp /etc/passwd ./ ##
(9)用head查看passwd文件的前5行内容,用tail查看passwd文件的后5行内
容
head -5 passwd ###
tail -5 passwd ###
(10)删除学号命名的文件下passwd文件,以及删除当前目录下第三个子文件夹
rm passwd ###
rm -r xiao##
以上是关于在linux系统中,32位机,要打开超大文件(大于4G)并读取其内容用啥函数?的主要内容,如果未能解决你的问题,请参考以下文章
VMware Workstation 无法打开需要被该虚拟机使用的某一个虚拟磁盘,因为它的文件大小大于主机文件系统支持