string.h输出字C
string.h output words C
我需要比较一个单词的第一个字母和最后一个字母;如果这些字母相同,我需要将该词输出到文件中。
但是我从另一个文件中获取的话。我的问题是我猜不出我应该如何输出所有单词,因为在我的代码中,它只输出第一个单词。所以我明白我没有过渡到别人。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include<malloc.h>
#include <string.h>
int main()
{
char my_string[256];
char* ptr;
FILE *f;
if ((f = fopen("test.txt", "r"))==NULL) {
printf("Cannot open test file.\n");
exit(1);
}
FILE *out;
if((out=fopen("result.txt","w"))==NULL){
printf("ERROR\n");
exit(1);
}
fgets (my_string,256,f);
int i;
int count = 1;
printf("My string is %d symbols\n", strlen(my_string));
for (ptr = strtok(my_string," "); ptr != NULL; ptr= strtok(NULL," "))
{
int last = strlen(ptr) - 1;
if ((last != -1) && (ptr[0] == ptr[last]))
{
printf("%s\n",ptr);
}
}
printf("\n%s\n",my_string);
fprintf(out,"%s\n",my_string);
system("pause");
fclose(f);
fclose(out);
return 0;
}
在我的第一个文件中有单词:
high day aya aya eye that
从第一个文件中我的话,它只输出第一个词
high
到第二个文件。我期待以下内容:
high aya aya eye
除了在最后 fprintf 整个字符串时,您没有向文件输出任何内容:
fprintf(out,"%s\n",my_string);
您需要在那个 for 循环中将 printf("%s\n",ptr);
更改为 fprintf(out,"%s\n",ptr);
。否则它只会将所有内容输出到控制台。
我需要比较一个单词的第一个字母和最后一个字母;如果这些字母相同,我需要将该词输出到文件中。 但是我从另一个文件中获取的话。我的问题是我猜不出我应该如何输出所有单词,因为在我的代码中,它只输出第一个单词。所以我明白我没有过渡到别人。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include<malloc.h>
#include <string.h>
int main()
{
char my_string[256];
char* ptr;
FILE *f;
if ((f = fopen("test.txt", "r"))==NULL) {
printf("Cannot open test file.\n");
exit(1);
}
FILE *out;
if((out=fopen("result.txt","w"))==NULL){
printf("ERROR\n");
exit(1);
}
fgets (my_string,256,f);
int i;
int count = 1;
printf("My string is %d symbols\n", strlen(my_string));
for (ptr = strtok(my_string," "); ptr != NULL; ptr= strtok(NULL," "))
{
int last = strlen(ptr) - 1;
if ((last != -1) && (ptr[0] == ptr[last]))
{
printf("%s\n",ptr);
}
}
printf("\n%s\n",my_string);
fprintf(out,"%s\n",my_string);
system("pause");
fclose(f);
fclose(out);
return 0;
}
在我的第一个文件中有单词:
high day aya aya eye that
从第一个文件中我的话,它只输出第一个词
high
到第二个文件。我期待以下内容:
high aya aya eye
除了在最后 fprintf 整个字符串时,您没有向文件输出任何内容:
fprintf(out,"%s\n",my_string);
您需要在那个 for 循环中将 printf("%s\n",ptr);
更改为 fprintf(out,"%s\n",ptr);
。否则它只会将所有内容输出到控制台。