Tag: char

C字符串库

C(不是C ++)的C字符串库是否实现了对char *和wchar_t *字符串的抽象? 要求是: 获得BSD / MIT / CDDL许可 实现某种引用计数机制 支持正则表达式 有Unicode支持 谢谢,

我如何按位XOR两个C char数组?

我觉得愚蠢无法解决这个问题,但我迷失了。 我试图XOR两个C字符串。 #include #include #include int main() { char plainone[16]; char plaintwo[16]; char xor[17]; strcpy(plainone, “PlainOne”); strcpy(plaintwo, “PlainTwo”); int i=0; for(i=0; i<strlen(plainone);i++) xor[i] ^= (char)(plainone[i] ^ plaintwo[i]); printf("PlainText One: %s\nPlainText Two: %s\n\none^two: %s\n", plainone, plaintwo, xor); return 0; } 我的输出是: $ ./a.out PlainText One: PlainOne PlainText Two: PlainTwo one^two: 为什么xor数组不能读作什么?

使用malloc分配char数组

嗨,最近我在网上看到了很多代码(也是关于SO;),如: char *p = malloc( sizeof(char) * ( len + 1 ) ); 为什么sizeof(char)? 这不是必要的,不是吗? 或者只是风格问题? 它有什么优势?

比较C中用户输入的字符

以下代码片段来自C程序。 用户输入Y或N. char *answer = ‘\0’; scanf (” %c”, answer); if (*answer == (‘Y’ || ‘y’)) // do work 我无法弄清楚为什么这个if语句没有评估为true。 我用printf检查了y或n输入,它就在那里,所以我知道我正在收到用户输入。 此外,当我将if语句的条件替换为1(使其为真)时,它会正确评估。

在C中初始化一个char指针。为什么认为危险?

可能重复: C中的char s []和char * s有什么区别? 我初始化一个char指针: char *a=”test”; 我在某些地方读到这被认为是只读的 ,这很危险。 这是否意味着”test”没有在堆中分配空间? 这是否意味着字符串“test”可以在程序中稍后写入? —扩大我的问题— 如果我已经初始化a如上所述,然后我做了一堆其他的初始化,如: int b=20; char c[]=”blahblahblah”; 内存中的“测试”是否会被“20”或“blah”覆盖? 或者这种情况没有根据?

C / C ++:将char中的hex值转换为整数

我有hex值存储为字符: char A = ‘0’; char B = ‘6’; char C = ‘E’; ……我需要它们转换为整数。 我知道’ati’,但这只适用于十进制编码的char值。 任何类似的function?

函数中的C和指针 – 更改不保存

我有这个简单的代码似乎工作(我检查调试器)但是当函数执行结束时,字符串不保存在原始变量中。 void getString(char *iText); int main() { char *inputText=malloc(sizeof(char)); getString(inputText); puts(inputText); free(inputText); system(“pause”); return 0; } void getString(char *iText) { char c; int i=0; while((c=getchar()) != ‘\n’) { iText = realloc(iText,sizeof(char)*(i+1)); iText[i]=c; i++; } iText = realloc(iText, sizeof(char)*(i+1)); iText[i]=’\0′; } 当这个小脚本结束时,我看到一些 ε■ε■ε■ε■ε■ε■ε■ε■ε■ε■ε■ε■▲יע`* 如果我在我的main函数中编写这段代码它正在工作,所以我猜这与我在函数中使用指针的方式有关。

如何在C中为整数类型变量赋值?

在C中, … int num = ‘a’; … 我的问题很简单。 如何在整数类型变量中指定诸如“0”,“a”,“b”之类的字符而不会在C语言中出现任何类型错误?

区分C中的字母和整数

请注意,我不是要像ctype.h中的isalpha()这样的函数来区分单个数字和字母(或其他字符)。 我试图区分整数和字母表。 问题是字母表也被视为C中的整数,我想不出办法。 例如:如果输入是字母a,则它与’a’相同,即整数97。 我需要找出输入是’a’还是97。 我试图这样做,并意识到它根本无法工作。 int a; scanf(“%d”, &a); if( (a>=’A’ && a=’a’ && a<='z') ) { printf("\nAlphabet"); }

我无法将char字符串分配给char数组

这就是我现在拥有的。 void insert(char Table[][81], char Key[81]){ int index; index = search(Table, Key); // This is another function used to find an empty ‘slot’ // in the table if(Table[index] == ‘\0′) Table[index] = Key; // <– This is the line that contains some sort of error. else printf("ERROR: Key already in Table\n"); } 它抛出的错误是: 从类型’char *’分配类型’char […]