c語言在文件中插入字元,c語言把字元串寫入文件

本文目錄一覽:

C語言文件IO如何在指定位置插入字元串?

如果是C語言調用stdio.h庫函數的話使用fseek設置文件指針,指向指定的位置,然後再用fprintf或者fwrite將數據寫入文件中。如果是C語言調用windows.h庫函數的話則調用SetFilePointer設置文件指針指向指定位置,之後再調用WriteFile將數據寫入文件。

C語言里如何把已有的字元串寫入文件里?

設要寫入的數字是int型,則用控制字元串%d和%s來完成,舉例代碼行如下:

fprintf(fp,”%d %s\n”,12345,”abcdefg”);

其中:fp是成功寫打開文件的指針。此代碼行先向文件寫入整型數字12345,再加一個空格,接著寫入字元串abcdefg,然後寫入’\n’。

#include “stdio.h”

#include “string.h”

void main()

{

char a[6]=”china”;

char temp[1024];

int n=0;//記錄有多少個china

FILE *outFile=fopen(“c:\b.txt”,”r+”);

FILE *inFile=fopen(“c:\a.txt”,”r+”);

while(fgets(temp,500,inFile)!=NULL)

{

int k=0;

for(int i=0;istrlen(temp);i++)

{

if(temp[i]==a[k] kstrlen(a))

{

k++;

}

else

{

if(k==strlen(a))

{

n++;

fprintf(outFile,”%s

“,a);

}

k=0;

}

}

}

}

在C盤要有這兩個文件。。。

a文件中可能有多個china ,指定加到第幾行自己看情況 在設置一個int變數記錄就行了

C語言向文件寫入單個字元

調用庫函數fputc(ch,fp);就把ch表示的一個字元寫入文件了,fp是指向被打開的文件的指針。也可以用fprintf(fp,”%c”,ch);操作。

C語言 如何向一個路徑的文件中寫入一段字元串?

步驟邏輯:

1:打開要寫入字元串的文件並檢查文件是否已打開。

2:向該文件寫入指定的字元串。

3:關閉文件。

需要的頭文件和函數(這裡對函數的使用方法不再介紹):

1:stdio.h頭文件下的fopen函數,fputs函數,fclose函數。

2:stdlib.h頭文件下的exit函數。

以下是完整代碼並附有詳細注釋:

#include stdio.h  //所用到的關鍵函數fopen,fputs,fclose都在stdio.h頭文件中; 

#include stdlib.h  //exit函數在stdlib.h頭文件中; 

int main(void)

{

    FILE *file = NULL;  //定義一個文件類型(FILE)的指針並初始化; 

    const char *FileName = “D:\\測試\\百度知道.txt”;    //這裡假設是要在D盤的「測試」文件夾中的「百度知道.txt」文件寫入字元串。注意:字元串中寫入’\’符號必須雙寫。 

    file = fopen(FileName, “r+”);  //調用fopen函數,將返回值賦於指針file; 

    

    if(!file)  //檢查文件是否打開,若打開失敗,返回一條信息後,結束程序。 

    {

        printf(“文件打開失敗,請檢查文件是否存在!\n”);

        exit(1); 

    }

    

    const char *string = “你知道,所以我知道。”;  //需要寫入的字元串內容。 

    

    if(!fputs(string, file))  //調用fputs函數寫入文件,不管成功或失敗都會返回一條信息。 

        printf(“寫入成功!\n”); 

    else

        printf(“寫入失敗!\n”);

         

    fclose(file);  //關閉文件。 

    file = NULL;   //放空file指針。 

    return 0;

}

c語言 文本文件的操作 字元寫入

#includestdio.h

static int write_flag=1; /*寫文件標誌,即是否要將字元串寫入文件*/

void function(char *str)

{

int i=0;

do

{

if((str[i++]==’b’)(str[i]==’y’)(str[i+1]==’e’))/*字元串中有「bye字串」*/

{ str[i+2]=’\0′; /*截斷字元串*/

write_flag=0; /*寫文件標誌置 0 */

break;

}

}while(str[i+2]!=’\0′);

}

int main()

{

int i,j;

char str[100]={0};

FILE *fp;

fp=fopen(“answer.txt”,”w”);

do

{

gets(str);

function(str);

fprintf(fp,”%s\n”,str);

}while(write_flag);

fclose(fp);

while(1) gets(str);/*接收其他無效字元串。自己添加程序結束條件*/

return 0;

}

親測通過!

原創文章,作者:DEVJE,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330516.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
DEVJE的頭像DEVJE
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相關推薦

發表回復

登錄後才能評論