如何使用C?
在字符串中用换行符(“\ n”)替换空格答案 0 :(得分:4)
#include <stdio.h>
#include <string.h>
#define SIZE 50
int main(int argc, char **argv)
{
char string[] = "this is my string";
size_t length, c;
length = strlen(string);
for(c = 0; c < length; ++c)
{
if(string[c] == ' ')
{
string[c] = '\n';
}
}
printf("%s\n", string);
return 0;
}
答案 1 :(得分:3)
你的问题很模糊。
这是一个简单的过滤器,用于将输入流中的所有空格更改为换行符:
#include <stdio.h>
int main(void) {
int c;
while ((c = getchar()) != EOF) {
putchar(c == ' ' ? '\n' : c);
}
return 0;
}
修改强>
如果您有兴趣修改字符串,您应该知道字符串文字是不可修改的,尝试修改它们具有未定义的行为。
您应该找到空格字符并将换行符('\n'
)存储在相应的偏移处。
您可以使用指针和strchr()
功能:
char *p = strchr(string, ' ');
if (p != NULL) {
*p = '\n';
}
处理循环中的所有空格:
for (char *p = string; (p = strchr(p, ' ')) != NULL; p++) {
*p = '\n';
}
或者您可以使用带有索引变量的for
循环:
for (size_t i = 0; string[i] != '\0'; i++) {
if (string[i] == ' ') {
string[i] = '\n';
//break; // uncomment the break if you want a single space changed
}
}
答案 2 :(得分:1)
简单程序:
int c;//return of fgetc type is int
while(EOF!=(c=fgetc(file)))
putchar(c == ' ' ? '\n ' : c);