
实话是,使用C如此 *** 作是比较复杂的,步骤如下:
1、自我实现
首先需要将所有的文件读取到内存中,之后进行适当的处理,可以定义一个函数,函数的形参是四个三维数组,或者一个43的二维数组,之后的 *** 作相当于矩阵的转矩3 4。
2、借助三方包
上面说了这其实就是一个矩阵的转矩,那么可以使用第三方的实现矩阵相关运算的库文件。
ifstream inFile;
inFileopen("c://testtxt"); // 打开文件
string str; // 字符串
getline(inFile, str, '\n'); // 读取第一行内容,存入存str中
getline(inFile, str, '\n'); // 读取第二次,第二行内容,存入存str中
getline(inFile, str, '\n'); // 读取第三次,第三行内容,存入存str中
说明一下 \n 是读取完整的一行
先用getline或fgets读取数据到一个字符串中,这个串定义的长一点,保证够用就行。
举例:
char str[1024]。
fgets( str , sizeof(str), fp ),//fp打开的文件指针。
然后调用for循环去读取串的的数据,假设你的分隔符是空格,遍历str,遇到空格就得到一个数据,然后继续遍历,直到str尾。
再去fgets数据,再遍历,即可得到所有的数据。
:C语言是一门通用计算机编程语言,广泛应用于底层开发。
C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
package comlwjdemo;
import javaio;
public class RandomAccessFileDemo {
public static void main(String[] args) throws Exception {
RandomAccessFile file = new RandomAccessFile("file", "rw");
// 以下向file文件中写数据
filewriteInt(20);// 占4个字节
filewriteDouble(8236598);// 占8个字节
filewriteUTF("这是一个UTF字符串");// 这个长度写在当前文件指针的前两个字节处,可用readShort()读取
filewriteBoolean(true);// 占1个字节
filewriteShort(395);// 占2个字节
filewriteLong(2325451l);// 占8个字节
filewriteUTF("又是一个UTF字符串");
filewriteFloat(355f);// 占4个字节
filewriteChar('a');// 占2个字节
fileseek(0);// 把文件指针位置设置到文件起始处
// 以下从file文件中读数据,要注意文件指针的位置
Systemoutprintln("——————从file文件指定位置读数据——————");
Systemoutprintln(filereadInt());
Systemoutprintln(filereadDouble());
Systemoutprintln(filereadUTF());
fileskipBytes(3);// 将文件指针跳过3个字节,本例中即跳过了一个boolean值和short值。
Systemoutprintln(filereadLong());
fileskipBytes(filereadShort()); // 跳过文件中“又是一个UTF字符串”所占字节,注意readShort()方法会移动文件指针,所以不用加2。
Systemoutprintln(filereadFloat());
}
}
参考资料
>
以上就是关于Linux下C编程读取文件中每行的数据全部的内容,包括:Linux下C编程读取文件中每行的数据、c++中如何读取指定文件中任意行的内容、C语言读取文件数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)