如何用新行替换 space?
How do I replace a space with a new line?
如何使用 C 将字符串中的 space 替换为换行符 ("\n")?
#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;
}
简单程序:
int c;//return of fgetc type is int
while(EOF!=(c=fgetc(file)))
putchar(c == ' ' ? '\n ' : c);
你的问题很含糊。
这是一个简单的过滤器,用于将输入流中的所有 space 更改为换行符:
#include <stdio.h>
int main(void) {
int c;
while ((c = getchar()) != EOF) {
putchar(c == ' ' ? '\n' : c);
}
return 0;
}
编辑:
如果您对修改字符串感兴趣,您应该知道字符串文字是不可修改的,尝试修改它们具有未定义的行为。
您应该找到 space 个字符并在相应的偏移量处存储换行符 ('\n'
)。
您可以使用指针和 strchr()
函数:
char *p = strchr(string, ' ');
if (p != NULL) {
*p = '\n';
}
循环处理所有 spaces:
for (char *p = string; (p = strchr(p, ' ')) != NULL; p++) {
*p = '\n';
}
或者您可以使用带有索引变量的 for
循环:
for (size_t i = 0; string[i] != '[=13=]'; i++) {
if (string[i] == ' ') {
string[i] = '\n';
//break; // uncomment the break if you want a single space changed
}
}
如何使用 C 将字符串中的 space 替换为换行符 ("\n")?
#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;
}
简单程序:
int c;//return of fgetc type is int
while(EOF!=(c=fgetc(file)))
putchar(c == ' ' ? '\n ' : c);
你的问题很含糊。
这是一个简单的过滤器,用于将输入流中的所有 space 更改为换行符:
#include <stdio.h>
int main(void) {
int c;
while ((c = getchar()) != EOF) {
putchar(c == ' ' ? '\n' : c);
}
return 0;
}
编辑:
如果您对修改字符串感兴趣,您应该知道字符串文字是不可修改的,尝试修改它们具有未定义的行为。
您应该找到 space 个字符并在相应的偏移量处存储换行符 ('\n'
)。
您可以使用指针和 strchr()
函数:
char *p = strchr(string, ' ');
if (p != NULL) {
*p = '\n';
}
循环处理所有 spaces:
for (char *p = string; (p = strchr(p, ' ')) != NULL; p++) {
*p = '\n';
}
或者您可以使用带有索引变量的 for
循环:
for (size_t i = 0; string[i] != '[=13=]'; i++) {
if (string[i] == ' ') {
string[i] = '\n';
//break; // uncomment the break if you want a single space changed
}
}