我需要编写一段代码来搜索文件中字符串的所有分区。最近,我的老师让我在具有相同字符串的文件中搜索字符串 (char)255(char)255。问题是我无法阅读这些字符,而且很糟糕,我无法将这些字符与 EOF 进行区分或比较;我在文件中搜索给定字符串的代码是:
//problema 14
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {
char b;
int k=0;
if(argc!=3) {
fprintf(stderr,"Utilizare: %s fisier sir\n",argv[0]);
return 1;
}
if(argv[2][0]=='\0'){
fprintf(stderr, "String vid\n");
return 1;
}
FILE *f;
f=fopen(argv[1],"r");
if (!f)
{
perror(argv[1]);
return 1;
}
int i=0;
while((b = fgetc(f))!=EOF)
{
if(b==argv[2][i]) i++;
else {
fseek(f,-i, SEEK_CUR);
i=0;
}
if(argv[2][i]=='\0'){
k++;
fseek(f,-i+1, SEEK_CUR);
i=0;
}
}
printf("\nSULFUS %d APPEARANCES\n",k);
return EXIT_SUCCESS;
}
我可以用这段代码做什么来处理 (char)255 个字符的比较字符串?
最佳答案
诀窍是意识到 fgetc
返回一个 int
。
所以,把b
的数据类型改成int
吧!
关于c - 如何读取和比较 C 中的字符 255,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26804125/