Linux 打开文件并写入一段字符串,同一时候读出相应文件的信息--fopen()/fwrite()/fread()

Linux 打开文件并写入一段字符串。同一时候读出相应文件的信息

在Linux中。採用C语言。使用fopen()函数打开一个文件(若不存在文件,则新建一个 如 data/test.dat),同一时候採用

fwrite()向当中写入对应的字符串,每次输入写入都换行,最后採用fread()读出对应的信息。

对应的代码例如以下:Test.c

/*
Test.c :create a file : Write a string to the file
   */

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define MAX   128

int
main(){
    FILE *fp = NULL;   //notice

    char  *filePath = "data/test.dat";

    char stringDes[] = "Hello world";
    stringDes[strlen(stringDes)] = ‘\0‘;
    char buf[MAX];
/*
   open a file :  FILE *fopen(const char *path, const char *mode);
 */
#if 1
    fp  = fopen(filePath,"at+");
    if(NULL == fp){
        perror("fp");
        return -1;
    }
    printf("file open success! \n");
#endif
/*
   write data block to a file:
       size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
   */
    int i;
    for(i = 0; i <= 2; i++){

        fwrite(stringDes,strlen(stringDes), 1, fp);
        fwrite("\n",1, 1, fp);

        fflush(fp);
    }

    printf("file set start \n");

    fseek(fp,0,SEEK_SET);  //set start file

    fread(buf,strlen(stringDes),1,fp);
    buf[strlen(stringDes)] = ‘\0‘;

    printf("buf = %s \n",buf);

    fclose(fp);
}

test.dat 的内容例如以下:

[email protected]:~/openAndWriteFile/Zywtest/data# vim test.dat

Hello world

Hello world

Hello world

~

~

~

时间: 2024-10-04 12:48:17

Linux 打开文件并写入一段字符串,同一时候读出相应文件的信息--fopen()/fwrite()/fread()的相关文章

Linux 打开文件并写入一段字符串,同时读出对应文件的信息--fopen()/fwrite()/fread()

Linux 打开文件并写入一段字符串,同时读出对应文件的信息 在Linux中,采用C语言,使用fopen()函数打开一个文件(若不存在文件,则新建一个 如 data/test.dat),同时采用 fwrite()向其中写入相应的字符串,每次输入写入都换行,最后采用fread()读出相应的信息. 相应的代码如下:Test.c /* Test.c :create a file : Write a string to the file */ #include <stdio.h> #include &

linux查找文件夹下的全部文件里是否含有某个字符串

查找文件夹下的全部文件里是否含有某个字符串 find .|xargs grep -ri "IBM" 查找文件夹下的全部文件里是否含有某个字符串,而且仅仅打印出文件名称 find .|xargs grep -ri "IBM" -l 1.正則表達式 (1)正則表達式一般用来描写叙述文本模式的特殊使用方法,由普通字符(比如字符a-z)以及特殊字符(称为元字符.如/.*.?等)组成. (2)基本元字符集及其含义 ^ :仅仅匹配行首. 如^a 匹配以a开头的行abc,a2e,

[转]VC++中对文件的写入和读取

本文转自:http://blog.csdn.net/fanghb_1984/article/details/7425705 本文介绍两种方法对文件进行读取和写入操作:1.采用fstream类:2.采用CStdioFile类. CStdioFile继承自CFile,一个CStdioFile对象代表一个用运行时函数fopen 打开的C 运行时流式文件. C++中的fstream类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O.stream类有两个重要的运算符:插入器(<<)和析

Java IO把一个文件中的内容以字符串的形式读出来

代码记录(备查): /** * 把一个文件中的内容以字符串的形式读出来 * * @author zhipengs * */ public class FileToString { public static void main(String[] args) { System.out.println(readFileToString()); } private static String readFileToString() { // new 一个空文件,用于获取路径 File dirs = ne

C++文件操作:打开文件和写入文件 zz

http://www.weixueyuan.net/view/5825.html 如果程序的运行结果仅仅显示在屏幕上,当要再次查看结果时,必须将程序重新运行一遍:而且,这个结果也不能被保留. 如果希望程序的运行结果能够永久保留下来,供随时查阅或取用,则需要将其保存在文件中. 文件分类 外部文件和内部文件 外部文件:指磁盘文件,也是通常所谓的文件. 内部文件:指在程序中运行的文件,更正式的称谓是“文件流对象”. 程序中操作的是内部文件,最后保存的是外部文件. 文本文件和二进制文件 文本文件:由字符

Linux如何在一个文件中写入内容

Linux中,在一个文件中写入内容,可以vim打开编辑模式,输入我们想要的内容,此次我们使用echo命令 来在一个文件夹中写入内容. echo命令: 第一种: echo 'i love u' >a.txt *在a.txt这个文件中输入i love u,如果没有这个文件则创建.如果有这个文件,那么新内容代替原来的内容. 第二种: echo 'i love u' >a.txt *在a.txt这个文件中输入i love u,如果没有这个文件则创建.如果有这个文件,那么新内容添加在原来内容的后面 原文

Python文件操作:文件的打开关闭读取写入

Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文件. 2.操作文件:读/写. 3.关闭文件. 操作系统中的文件默认处于存储状态,读写文件时需要请求操作系统打开一个要在当前程序操作的对象,打开不存在的文件可以创建文件.open()方法通过接收"文件路径"以及“文件打开模式”等参数来打开一个文件,并且返回文件对象.打开后的文件只能在当前程序

Linux打开txt文件乱码的解决方法

Linux显示在Windows编辑过的中文就会显示乱码是由于两个操作系统使用的编码不同所致.Linux下使用的编码是utf8,而Windows使用的是gb18030.因此,解决Linux打开txt文件中文乱码可有如下两种方法. 方法一: 在附件终端中,进入到txt文件所在目录,使用命令符"iconv-f gb18030  -t utf8 1.txt -o 2.txt"把gb18030编码的1.txt转换成utf8的2.txt.这样2.txt就成为Linux支持的编码. 方法二: 在附件

已知s.txt文件中有一个这样的字符串 请编写程序读取数据内容,把数据排序后写入 ss.txt文件

package cn.idcast5; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Arrays; /* * 需求:已知s.txt文件中有一个这样