- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我对我用 C 编写的程序有疑问。我将在两列中并排写两个不同的字符串。我没有找到我的问题的明确答案,因为他们几乎总是给出长度或数量已知的数字示例。
我有两个字符串,最大长度为 1500 个字符,但对我来说长度未知。让我们为了学习而赋予他们这些值(value)观:
char string1[] = "The independent country is not only self-governed nation with own authorities.";
char string2[] = "This status needs the international diplomatic recognition of sovereignty.";
我想把它们并排写,列宽为二十个字符。我已将列之间的差异设置为常规“选项卡”。像这样:
The independent coun This status needs th
try is not only self e international dipl
-governed nation wit omatic recognition o
h own authorities. f sovereignty.
我已尝试使用以下代码,但它并不有效,因为我无法弄清楚如何使其适应字符串的长度。它也刚好适合写五行。我也收到以下错误。
谁能给我一个例子说明如何做到这一点,也许可以使用预定义的 c 函数以避免使用 for 循环。
void display_columns(char *string1, char *string2);
int main()
{
char string1[] = "The independent country is not only self-governed nation with own authorities.";
char string2[] = "This status needs the international diplomatic recognition of sovereignty.";
display_columns(string1,string2);
}
void display_columns(char *string1, char *string2)
{
int i,j;
for(i=0;i<5;i++)
{
for(j=0+20*i;j<20+20*i;j++)
{
printf("%c",string1[j]);
}
printf("\t");
for(j=0+20*i;j<20+20*i;j++)
{
printf("%c",string2[j]);
}
}
}
最佳答案
我想这是更通用的方法。
void print_line(char *str, int *counter) {
for (int i = 0; i < 20; i++) {
if (str[*counter] != '\0') {
printf("%c", str[*counter]);
*counter += 1;
}
else { printf(" "); }
}
}
void display_columns(char *string1, char *string2)
{
int counter = 0, counter2 = 0;
while (1) {
print_line(string1, &counter);
printf("\t");
print_line(string2, &counter2);
printf("\n");
if (string1[counter] == '\0' && string2[counter2] == '\0') {
break;
}
}
}
关于C编程: ouput two strings as two columns next to each other,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33846623/
我有这个脚本,用户可以在其中透明地使用 passwd 更改其密码。脚本本身由 root 执行,使用 启动它 su - -c "script" 我知道启动脚本的方式可能不是很安全,但事实就是如此,我没
如果我从 scikit 库运行 dendrogram: from scipy.cluster.hierarchy import linkage, dendrogram # ... X = np.asa
我正在编写一个内核模块,我希望能够在使用 insmod module.ko 加载它时在控制台输出上打印一些内容。 我试过用 printk(KERN_EMERG "test kernel emergen
我正在运行一个非常简单的 tensorflow 程序 W = tf.Variable([.3],tf.float32) b = tf.Variable([-.3],tf.float32) x = tf
我对我用 C 编写的程序有疑问。我将在两列中并排写两个不同的字符串。我没有找到我的问题的明确答案,因为他们几乎总是给出长度或数量已知的数字示例。 我有两个字符串,最大长度为 1500 个字符,但对我来
我的日期是以下格式的字符串: Dec 31, 1969 7:00:00 PM 我想在 View 上显示较短的日期,所以我用 Angular 来做 但是 project.date 不再是旧格式而是 u
我尝试了以下变体: font-family: "Dosis" , Helvetica, Arial, Lucida, sans-serif; font-family: "'Dosis'", + Hel
我需要从文本文件中获取表格格式输出,我正在通过以下 awk 命令实现它。 分隔文件 ACTIVE#1238917238971238#USA#The U.S. is a country of 50 st
我需要在rails应用程序的根目录中运行thin start或thin -ssl ... start,然后查看应用程序日志输出到控制台的过程,类似于rails s所做的事情 最佳答案 在位于应用程序根
我正在尝试使用 Amazon EMR 服务上托管的集群。我正在尝试使用 WordCount.jar 文件和带有随机输出文件夹的 input1.txt 来运行 WordCount 示例。我的输入语法是
我想在断开 SSH 连接后在后台运行脚本。 我正在运行这个命令 nohup python batchscript.py ?&/dev/null & 但它给我 -bash:/dev/null: Perm
我经常将以下内容添加到循环中,以便为每次迭代打印出一些消息。 for (word in c("a", "long message", "c")) { cat("\r", word) flush
我有一个 logstash 输入设置为 input { kafka { bootstrap_servers => "zookeper_address" topics => ["topic1
如何在单行中获取空格分隔的整数值并将其存储在数组变量中: input: 10 20 30 如何将其存储在 a[0],a[1],a[3] 我的代码 #include #include int main(
我是一名优秀的程序员,十分优秀!