自分の名前を含む txt ファイルを読み取り、自分の名前を含む新しい txt ファイルを作成する必要がありますが、スペルが逆になります (John Doe は Doe, John になります)。私の割り当ては、変更されたtxtを保存するために一時的な配列を作成する必要があるかもしれないと言います。
警告が表示されます: 組み込み関数 'strchr' エラーの互換性のない暗黙の宣言です。この警告を受け取った場所を正確に確認できるように、コードに含めます。
これが私のコードです。ここで何が間違っていますか?私を助けてください。
#include <stdio.h>
int main (void)
{
FILE* txtFile=NULL;
txtFile=fopen("myName.txt", "r");
char myName [50]={'\0'};
if(txtFile==NULL)
{
printf("Failed to open file\n");
}
else
{
fgets(myName, sizeof(myName), txtFile);
printf("%s\n", myName);
}
FILE* newTxtFile=NULL;
newTxtFile=fopen("myNewName.txt", "w+");
char newName[50]={'\0'};
if(newTxtFile==NULL)
{
printf("Failed to open file\n");
}
else
{
fgets(newName, sizeof(newName), newTxtFile);
fprintf(txtFile, "%s", newName);
rewind(newTxtFile);
//
char * space;
char *first=NULL;
char *last = NULL;
char *firstspace;
char *name=NULL;
name = myName;
//incompatible implicit declaration of built-in function 'strchr'
firstspace=space=strchr(name,' ');
*firstspace='\0';
while (space!=NULL)
{
last = space+1;
space=strchr(space+1,' ');
}
printf("%s %s", last, name);
*firstspace=' ';
//
printf("text: %s \n", newName);
}
fclose(txtFile);
return 0;
}