新聞中心
C語言打開一個(gè)記事本的內(nèi)容!求助!
為了調(diào)試方便,我把你的文件路徑改了,你自己改下,已調(diào)試成功

在西湖等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需求定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè)公司,西湖網(wǎng)站建設(shè)費(fèi)用合理。
#include stdio.h
#include stdlib.h
#define MAXSIZE 60
#define NUMSIZE 15
#define NAMESIZE 20
struct student
{
int order;
char num[NUMSIZE];
char name[NAMESIZE];
}stud[MAXSIZE];
void main(void)
{
int i;
int count = 0;
FILE *fp;
if ((fp = fopen("123.txt","r")) == NULL)
{
printf("不能打開文件!\n");
exit(0);
}
while (fscanf(fp, "%d%s%s", stud[count].order, stud[count].num, stud[count].name) != EOF)
{
count++;
}
for (i=0; icount; i++)
{
printf("%-5d %-20s %-20s\n", stud[i].order, stud[i].num, stud[i].name);
}
fclose(fp);
}
如果對你有所幫助請記得采納最佳答案,謝謝!
C語言文件打開函數(shù)
ANSI
C規(guī)定文件打開用函數(shù)fopen,關(guān)閉為fclose。
1、調(diào)用方式通常為:
代碼如下:
FILE
*fp;
fp=fopen(文件名,
打開方式);
2、參數(shù)說明:
文件名:
形如"myfile.dat"、"F:\data\myfile.dat"等等;
打開方式:
"r"(只讀)
為輸入打開一個(gè)文本文件
"w"(只寫)
為輸出打開一個(gè)文本文件
"a"(追加)
向文件文件尾添加數(shù)據(jù)
"rb"(只讀)
為輸入打開一個(gè)二進(jìn)制文件
"wb"(只寫)
為輸出打開一個(gè)二進(jìn)制文件
"r+"(讀寫)
為讀寫打開一個(gè)文本文件
"w+"(讀寫)
為讀寫建立一個(gè)新的文本文件
"a+"(讀寫)
為讀寫打開一個(gè)文本文件
"rb+"(讀寫)
為讀寫打開一個(gè)二進(jìn)制文件
"wb+"(讀寫)
為讀寫建立一個(gè)新的二進(jìn)制文件
"ab+"(讀寫)
為讀寫打開一個(gè)二進(jìn)制文件
3、注意:
(1)用"r"方式打開的文件,不能向其輸入數(shù)據(jù),并且該文件已存在,否則出錯(cuò);
(2)用"w"方式打開的文件,只能向該文件輸入數(shù)據(jù),如果所打開的文件不存在,則在打開時(shí)新建一個(gè)以指定的名字命名的文件;如果指定文件存在,則在打開時(shí)將該文件刪去,然后新建一個(gè)新的文件;
(3)如果函數(shù)fopen打開文件出錯(cuò),則fopen返回一個(gè)空指針值NULL;
(4)在程序開始運(yùn)行時(shí),系統(tǒng)自動(dòng)打開3個(gè)標(biāo)準(zhǔn)文件:標(biāo)準(zhǔn)輸入(stdin),標(biāo)準(zhǔn)輸出(stdout),標(biāo)準(zhǔn)出錯(cuò)輸
出(stderr)。如果要使用輸入輸出終端,則不需要打開,可以直接使用,如fputc(stdout,'a');向屏幕輸出字符a。
怎樣用C語言寫一個(gè)程序,打開記事本,并輸入一段文字
#include stdlib.h
#include stdio.h
#define Line 1024
int main()
{
//文件名及文件指針
char infile[]="D:\\Wtmp\\1.txt";
char outfile[]="D:\\Wtmp\\2.txt";
FILE *fpi,*fpo;
//暫存器
char *outbuf;
outbuf = (char *)malloc(Line*sizeof(char));
if( ( fpi=fopen(infile,"r") ) == NULL )
{
printf("文件打開%s失敗\n",infile);
return 3;
}
if( ( fpo=fopen(outfile,"w") ) == NULL )
{
printf("文件打開%s失敗\n",outfile);
return 3;
}
while(1)
{
//outbuf要干凈
//memset(outbuf,0,Line);
outbuf=0;
fprintf(fpo,"%s",outbuf);
if (fgets(outbuf,Line,fpi)==NULL)
{
break;
}//全部行結(jié)束退出循環(huán)
//DelStr(outbuf,"刪除字符串"); //重載函數(shù)DelStr
//DelStr(outbuf,"要替換字符串","替換成字符串"); //重載函數(shù)DelStr
fprintf(fpo,"%s",outbuf);
}
//關(guān)閉文件
free(outbuf);
fclose(fpi);
fclose(fpo);
return 0;
}
在c語言中怎樣打開一個(gè)文本文檔
這些都是c語言打開文件函數(shù)fopen的一個(gè)參數(shù)打開文件方式的值:
定義函數(shù)
file
*
fopen(const
char
*
path,const
char
*
mode);
函數(shù)說明
參數(shù)path字符串包含欲打開的文件路徑及文件名,參數(shù)mode字符串則代表著流形態(tài)。
mode有下列幾種形態(tài)字符串:
r
打開只讀文件,該文件必須存在。
r+
打開可讀寫的文件,該文件必須存在。
rb+
讀寫打開一個(gè)二進(jìn)制文件,只允許讀寫數(shù)據(jù)。
rt+
讀寫打開一個(gè)文本文件,允許讀和寫。
w
打開只寫文件,若文件存在則文件長度清為0,即該文件內(nèi)容會(huì)消失。若文件不存在則建立該文件。
w+
打開可讀寫文件,若文件存在則文件長度清為零,即該文件內(nèi)容會(huì)消失。若文件不存在則建立該文件。
a
以附加的方式打開只寫文件。若文件不存在,則會(huì)建立該文件,如果文件存在,寫入的數(shù)據(jù)會(huì)被加到文件尾,即文件原先的內(nèi)容會(huì)被保留。
a+
以附加方式打開可讀寫的文件。若文件不存在,則會(huì)建立該文件,如果文件存在,寫入的數(shù)據(jù)會(huì)被加到文件尾后,即文件原先的內(nèi)容會(huì)被保留。
wb
只寫打開或新建一個(gè)二進(jìn)制文件;只允許寫數(shù)據(jù)。
wb+
讀寫打開或建立一個(gè)二進(jìn)制文件,允許讀和寫。
wt+
讀寫打開或著建立一個(gè)文本文件;允許讀寫。
at+
讀寫打開一個(gè)文本文件,允許讀或在文本末追加數(shù)據(jù)。
ab+
讀寫打開一個(gè)二進(jìn)制文件,允許讀或在文件末追加數(shù)據(jù)。
上述的形態(tài)字符串都可以再加一個(gè)b字符,如rb、w+b或ab+等組合,加入b
字符用來告訴函數(shù)庫打開的文件為二進(jìn)制文件,而非純文字文件。不過在posix系統(tǒng),包含linux都會(huì)忽略該字符。
由fopen()所建立的新文件會(huì)具有s_irusr|s_iwusr|s_irgrp|s_iwgrp|s_iroth|s_iwoth(0666)權(quán)限,此文件權(quán)限也會(huì)參考umask
值。
c語言 如何打開一個(gè)TXT文件。
C語言,打開文件一個(gè)TXT文件,需要使用fopen()函數(shù)。
它的函數(shù)原型位FILE
*
fopen(const
char
*
path,const
char
*
mode);
如果文件順利打開后,返回指向該流的文件指針就會(huì)。如果文件打開失敗則返回NULL,并把錯(cuò)誤代碼存在errno中。
一般而言,打開文件后會(huì)做一些文件讀取或?qū)懭氲膭?dòng)作,若打開文件失敗,接下來的讀寫動(dòng)作也無法順利進(jìn)行,所以一般在fopen()后作錯(cuò)誤判斷及處理。
參數(shù)path字符串包含欲打開的文件路徑及文件名,參數(shù)mode字符串則代表著流形態(tài)。
mode有下列幾種形態(tài)字符串:
r
以只讀方式打開文件,該文件必須存在。
r+
以可讀寫方式打開文件,該文件必須存在。
rb+
讀寫打開一個(gè)二進(jìn)制文件,允許讀寫數(shù)據(jù),文件必須存在。
w
打開只寫文件,若文件存在則文件長度清為0,即該文件內(nèi)容會(huì)消失。若文件不存在則建立該文件。
w+
打開可讀寫文件,若文件存在則文件長度清為零,即該文件內(nèi)容會(huì)消失。若文件不存在則建立該文件。
a
以附加的方式打開只寫文件。若文件不存在,則會(huì)建立該文件,如果文件存在,寫入的數(shù)據(jù)會(huì)被加到文件尾,即文件原先的內(nèi)容會(huì)被保留。(EOF符保留)
a+
以附加方式打開可讀寫的文件。若文件不存在,則會(huì)建立該文件,如果文件存在,寫入的數(shù)據(jù)會(huì)被加到文件尾后,即文件原先的內(nèi)容會(huì)被保留。
(原來的EOF符不保留)
wb
只寫打開或新建一個(gè)二進(jìn)制文件;只允許寫數(shù)據(jù)。
wb+
讀寫打開或建立一個(gè)二進(jìn)制文件,允許讀和寫。
ab+
讀寫打開一個(gè)二進(jìn)制文件,允許讀或在文件末追加數(shù)據(jù)。
wx
創(chuàng)建文本文件,只允許寫入數(shù)據(jù).[C11]
wbx
創(chuàng)建一個(gè)二進(jìn)制文件,只允許寫入數(shù)據(jù).[C11]
w+x
創(chuàng)建一個(gè)文本文件,允許讀寫.[C11]
wb+x
創(chuàng)建一個(gè)二進(jìn)制文件,允許讀寫.[C11]
w+bx
和"wb+x"相同[C11]
以x結(jié)尾的模式為獨(dú)占模式,文件已存在或者無法創(chuàng)建(一般是路徑不正確)都會(huì)導(dǎo)致fopen失敗.文件以操作系統(tǒng)支持的獨(dú)占模式打開
下面讀取TXT文件的行數(shù)并把把TXT文件的內(nèi)容存到數(shù)組中。
這里假設(shè)每行是一個(gè)字符串,每行不超過127個(gè)字符(用數(shù)組存字符串,最后一位存'\0'),選取fgets進(jìn)行讀取。
示例代碼如下:
#include
#include
int main(int argc, char* argv) {
FILE* rf = fopen("input.txt","r");
char a[1024][128];
int i=0;
while(fgets(a[i],128,rf))i++;
int n=i;
printf("行數(shù):%d\n",n);
fclose(rf);
i=0;
while(i
c語言如何寫代碼實(shí)現(xiàn)打開記事本(notepad.exe)3秒后關(guān)閉記事本?
需要使用Windows API。主要用到了3個(gè)函數(shù),CreateProcess、TerminateProcess、CloseHandle。
CreateProcess用來創(chuàng)建一個(gè)進(jìn)程,可以用它來執(zhí)行一個(gè)程序。TerminateProcess用來終止一個(gè)進(jìn)程,關(guān)閉記事本。CloseHandle是用來關(guān)閉句柄的,主要是安全問題,加上就行。Sleep(3000)表示暫停3秒鐘。
#include?windows.h
int?main()
{
char?command[]?=?"notepad.exe";
STARTUPINFO?si?=?{?sizeof(si)?};???
PROCESS_INFORMATION?pi;???
BOOL?ret;
si.dwFlags?=?STARTF_USESHOWWINDOW;???
si.wShowWindow?=?TRUE;
ret?=?CreateProcess(NULL,?command,?NULL,?NULL,?FALSE,?CREATE_NEW_CONSOLE,?NULL,?NULL,?si,?pi);
if?(ret)
{
Sleep(3000);
TerminateProcess(pi.hProcess,?0);
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
}
return?0;
}
分享標(biāo)題:c語言打開記事本函數(shù) c語言讀取記事本內(nèi)容
文章位置:http://www.dlmjj.cn/article/dodsghg.html


咨詢
建站咨詢
