LinuxC学习笔记——txt⽂件读写
/***************
perror(s) ⽤来将上⼀个函数发⽣错误的原因输出到标准设备(stderr)。参数 s 所指的字符串会先打印出,后⾯再加上错误原因字符串。此
错误原因依照全局变量errno的值来决定要输出的字符串。
FILE * fopen(const char * path, const char * mode);返回值:⽂件顺利打开后,指向该流的⽂件指针就会被返回。如果⽂件打开失败则
返回 NULL,并把错误代码存在 error 中。
fgetc()fgetc是⼀种计算机语⾔中的函数。意为从⽂件指针stream指向的⽂件中读取⼀个字符,读取⼀个字节后,光标位置后移⼀个字
节。格式:int fgetc(FILE *stream);。
fputc()将字符ch写到⽂件指针fp所指向的⽂件的当前写指针的位置。函数格式:int fputc (int c, FILE *fp)。
exit() exit(0) 表⽰程序正常退出,exit⑴/exit(-1)表⽰程序异常退出。
pid_t wait (int * status);如果执⾏成功则返回⼦进程识别码(PID),如果有错误发⽣则返回-1。失败原因存于errno 中。
fprintf是C/C++中的⼀个格式化写—库函数,位于头⽂件<stdio.h>中,其作⽤是格式化输出到⼀个流/⽂件中;
函数原型为int fprintf( FILE *stream, const char *format, [ argument ]...),fprintf()函数根据指定的格式(format)向输出流(stream)
写⼊数据(argument)。
*/
#include <iostream>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
using namespace std;
/***************
perror(s) ⽤来将上⼀个函数发⽣错误的原因输出到标准设备(stderr)。参数 s 所指的字符串会先打印出,后⾯再加上错误原因字符串。此错误原因依照全局变量errno的FILE * fopen(const char * path, const char * mode);返回值:⽂件顺利打开后,指向该流的⽂件指针就会被返回。如果⽂件打开失败则返回 NULL,并把错误代码存在fgetc()fgetc是⼀种计算机语⾔中的函数。意为从⽂件指针stream指向的⽂件中读取⼀个字符,读取⼀个字节后,光标位置后移⼀个字节。格式:int fgetc(FILE *stream fputc()将字符ch写到⽂件指针fp所指向的⽂件的当前写指针的位置。函数格式:int fputc (int c, FILE *fp)。
exit() exit(0) 表⽰程序正常退出,exit⑴/exit(-1)表⽰程序异常退出。
pid_t wait (int * status);如果执⾏成功则返回⼦进程识别码(PID),如果有错误发⽣则返回-1。失败原因存于errno 中。
fprintf是C/C++中的⼀个格式化写—库函数,位于头⽂件<stdio.h>中,其作⽤是格式化输出到⼀个流/⽂件中;
函数原型为int fprintf( FILE *stream, const char *format, [ argument ]...),fprintf()函数根据指定的格式(format)向输出流(stream)写⼊数据(argument)。
*/
int main()
{
pid_t pc;
pc =fork();
int status;
FILE* wp = fopen("","a");
if(wp == NULL)
perror("wp error");
if(pc <0)
perror("fork error");
else if(pc == 0)
{
printf("this is child process\n");
printf("child process is doing\n");
FILE* fp =NULL;
int count = 0;
fp = fopen("in.txt","r");
int c;
while((c =getc(fp)) != EOF)
{
if(c>='A' && c<='Z')
count++;
}
}
fclose(fp);
printf("Upper count:%d\n",count);
fprintf(wp,"Upper:%d\n",count);
exit(0);
}
else
{
printf("this is parent process\n");
if(wait(&status))
{
printf("parent process is doing\n"); FILE* fp =NULL;
int count = 0;
fp = fopen("in.txt","r");
int c;
while((c = getc(fp))!=EOF )
{
if(c>='a' && c<='z')
count++;
}
fclose(fp);
printf("lower count:%d\n",count); fprintf(wp,"Lower:%d\n",count);
fclose(wp);
}
}
FILE* rp = fopen("","r");
if(rp == NULL)
perror("rp error");
int c;
while((c = getc(rp))!= EOF)
{
fputc(c,stdout);
}
return 0;
linux怎么读文件内容}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论