从C中的文本文件中获取每个字符串的第一个字符

从C中的文本文件中获取每个字符串的第一个字符,c,string,file,C,String,File,我对C和整个编程有点生疏,所以我需要任务方面的帮助 我的目标是用随机单词字符串读取文本文件,如果字符串中有任何数字,请将它们更改为该单词/字符串的第一个字母。示例:He99llo Im N3w Her3>HeHHllo Im NNw HerH 问题:1。如何从文本文件中读取单独的字符串? 2.如何从单独的字符串中获取第一个字母而不是数字 顺便说一下,我已经写了代码,只需要文本文件的第一个字符,并将数字更改为它,无论它是否是数字,但我不知道如何在这里添加代码 编辑:以下是编写的代码: #inclu

我对C和整个编程有点生疏,所以我需要任务方面的帮助

我的目标是用随机单词字符串读取文本文件,如果字符串中有任何数字,请将它们更改为该单词/字符串的第一个字母。示例:He99llo Im N3w Her3>HeHHllo Im NNw HerH

问题:1。如何从文本文件中读取单独的字符串? 2.如何从单独的字符串中获取第一个字母而不是数字

顺便说一下,我已经写了代码,只需要文本文件的第一个字符,并将数字更改为它,无论它是否是数字,但我不知道如何在这里添加代码

编辑:以下是编写的代码:

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

int Change(FILE *Reading, FILE *Writing){ /*Reads from file and changes numbers into first character of file*/
    int FirstLetter, letter;
    Reading = fopen("C:\\Users\\Rimas\\Desktop\\read.txt", "r");
    Writing = fopen("C:\\Users\\Rimas\\Desktop\\write.txt", "w");

    if (Writing == NULL) {
         printf("I couldn't open write.txt for writing.\n");
         exit(0);
      }

    FirstLetter = getc(Reading);
    if (Reading){
         fprintf(Writing, "%c", FirstLetter);
         while ((letter = getc(Reading)) != EOF){
            if (isdigit(letter)){
                letter = FirstLetter;
            }
            fprintf(Writing, "%c", letter);
         }

    }
    fclose(Reading);
    fclose(Writing);
    return 0;
}

int main() {
    FILE *Reading;
    FILE *Writing;
    Change(Reading, Writing);
    return 0;
}

这里有一些逻辑可以帮助您:

编写一个函数,该函数接受字符串,并按照所述进行转换。先做这个。测试它,因为它是程序的基本部分

现在,您需要从main读取一个文本文件,并在屏幕上以自己的行显示每个单词。这有助于您理解如何从文件中读取单词。我会用fscanf来做这个。确保您可以读取整个文本文件,并且不会崩溃

现在,在打印步骤2中读取的单词之前,调用步骤1中的函数。这将改变单词,当你打印时,你应该得到正确的结果。
单击,将代码复制粘贴到问题中,选择粘贴的内容,然后单击编辑器中的[{}]按钮。代码将以格式化显示。粘贴您的代码,突出显示它,然后单击{}图标;正在传递文件*类型变量的当前内容,而不是这些变量的地址。强烈建议应用数据本地化的概念。即,不带参数的调用更改也会更改原型和更改声明。将读写变量的声明移动到函数Change中。从文件中读取时,我建议逐字节读取数组。每次将数组预先设置为所有'\0',在将字符写入数组之前,在找到空格或EOF或'\n'时停止读取。通过循环处理数组中的一个字符串。如果任何字符在“0”…“9”范围内,请替换该字符:array[x]-array[0];将结果字符串写入输出文件。始终检查数组中是否至少有一个字符,以便不会产生虚假输出。如果读取的字符串以数字开头,您仍然需要决定要做什么。谢谢您的回答,Dan。作为一个初学者,这对我来说有点难理解。我会从sratch一步一步地再试一次。