C语言怎样快速在字符串的指定位置插入字符

C语言怎样快速在字符串的指定位置插入字符,第1张

用串S拷贝出另一个串T,对串T从头至尾扫描,对非数字字符原样写入串S,对于数字字符先写一个$符号再写该数字字符,最后,在S串尾加结束标志。使用此方法是牺牲空间,赢得时间。

#include <stdio.h>

int fun(char *s)

{

    char t[80]

    int i, j

    for(i=0 s[i] i++)  /*将串s拷贝至串t*/

        t[i]=s[i]

    t[i]='\0'

    for(i=0,j=0 t[i] i++)

    /*对于数字字符先写一个$符号,再写该数字字符*/

        if(t[i]>='0' && t[i]<='9')

        {

            s[j++]='$'

            s[j++]=t[i]

        }

    /*对于非数字字符原样写入串s*/

        else

            s[j++]=t[i]

    s[j]='\0'  /*在串s结尾加结束标志*/

    return 0

}

int main()

{

    char s[80]

    printf ( "Enter a string:" )

    scanf ("%s", s)  /*输入字符串*/

    fun(s)

    printf ("The result: %s\n", s)  /*输出结果*/

    return 0

}

代码如下:

#include <stdio.h>

#define MAX 20 // 每行最大字符数

#define MAX_LINE 1000 // 文件最大行数

char lines[MAX_LINE][MAX]

int main()

{

int i, count = 0

// 打开文件 abc.txt

FILE *pf = fopen("d:\\abc.txt", "r+")

// 读取文件内容到 lines 中

while (!feof(pf)) {

fscanf(pf, "%s", lines[count++])

}

// 移动文件指针到文件开始

fseek(pf, 0, SEEK_SET)

// 修改文本并保存到文件中

for (i = 0 i < count i++) {

fprintf(pf, "12月日期%s号\n", lines[i])

}

// 关闭文件

fclose(pf)

return 0

}

运行结果:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11752314.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存