gpt4 book ai didi

c - C中的字符问题

转载 作者:行者123 更新时间:2023-12-04 11:34:02 25 4
gpt4 key购买 nike

为什么不能编译?看不到错误

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

int main(void)
{
char *c;
FILE *f = fopen("file.txt", "r");

if(f == NULL) {
printf("Could not open file");
}

while((c = fgetc(f)) != EOF) {
if(strcmp(c, " ") == 0) {
printf(" ");
} else if(strcmp(c, ":") == 0) {
printf(":");
} else if(strcmp(c, "@") == 0) {
printf("@");
} else if(strcmp(c, "\n") == 0) {
printf("\n");
} else {
printf("Not a valid char");
}
}

最佳答案

fgetc 以整数形式返回当前文件指针处的字符。

所以 char *c; 应该是 int c;

if(strcmp(c, " ") == 0) {

应该是

if(c == ' ') {

并类似地更改其他比较。

您可以将比较压缩为:

while((c = fgetc(f)) != EOF) {
if(c == ' ' || c == ':' || c == '@' || c == '\n') {
printf("%c",c);
} else {
printf("Not a valid char");
}
}

关于c - C中的字符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3752975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com